Ajuda java

E ai galera, sou um feto em java ainda, tava tentando faze um programinha básico de notas pelo NetBeans consegui roda de boa, mas, eu só consigo fazer os programa definindo como classe a principal na hora que inicio um novo projeto, tacando tudo no main direto

Meu programinha de notas fico assim definindo a classe principal de cara já quando cria o projeto :

[color=darkred]package nota;

import entrada.IO;

public class Nota

{

 public static void main(String[] args) 

{

    int n1, n2, res;
     
    do
    {
            System.out.print("Informe a primeira nota do aluno (0 à 10) : ");
            n1 = IO.readInt();
    }while(n1<=-1 || n1>=11 );
   
    do
    {
             System.out.print("Informe a segunda nota do aluno (0 à 10) : ");
             n2= IO.readInt();
   }while(n2<=-1 || n2>=11);
    

              res=(n1+n2) /2;
              System.out.print("A sua nota foi : " + res);
    
    if(res>=7)
   {
              System.out.print("\n Parabéns aluno Aprovado! ");
       
   }
    
    if(res>3 & res<7)
       {
               System.out.print("\n Aluno ficou de exame! ");
       }

    if(res<3)
       {
               System.out.print("\n Aluno reprovado !");
       }

}
}
[/color]

Eu tentei fazer sem definir, mas não to conseguindo chama o res para a classe principal

import entrada.IO;

class Nota2
{
private int [color=darkblue]n1, n2;[/color]

Nota2()

{
do
{
System.out.print("Informe a primeira nota do aluno (0 à 10) : ");
n1 = IO.readInt();
}while(n1<=-1 || n1>=11 );

    do
    {
   System.out.print("Informe a segunda nota do aluno (0 à 10) : ");
   n2= IO.readInt();
   }while(n2<=-1 || n2>=11);

}
public int Soma()
{
[color=blue] int res;
res=n1+n2;
return (res /2);
[/color]
}

}\fechamento da classe nota2

[b]class Resultado
{
public static void main(String args[])
{

    System.out.print("Nota final do aluno : " +[color=darkblue]res[/color]);
       
        if([color=darkblue]res[/color]>=7)
   {
       System.out.print("\nParabéns aluno Aprovado! ");
       
   }
    
        if([color=darkblue]res[/color]>3 &[color=darkblue] res[/color]<7)
       {
           System.out.print("\nAluno ficou de exame! ");
       }

       if([color=darkblue]res[/color]<3)
       {
       System.out.print("\nAluno reprovado !");
       }
    
   
 }

}[/b]

[color=red]Cannot find symbol
symbol: variable res
location: class Resultado[/color]

Alguém ai pode me ajuda a puxa o " res " para a classe resultado? D=
ou todas as variáveis a classe Nota2 toda…

Para chamar alguma função ou uma váriavel de outra classe você terá que criar um objeto que vai fazer os comandos feitos
dessa outra classe.
Para criar esse objeto você tem que instancia-lo;

Exemplo:

Dentro da classe Nota2 eu crio esse objeto assim:

[code]public void class Nota2{

Nota1 objeto = new Nota1(); //Crio um novo objeto da classe nota1.


}[/code]

Agora você pode chamar qualquer comando que seja Publico da classe Nota1

Exemplo:

[code]public void class Nota1{

public void resultado(){
        //intruções de códigos
}

}[/code]

Chamando a função

[code]public void class Nota2{

   Nota1 objeto = new Nota1(); //Crio um novo objeto da classe nota1.

   objeto.resultado();


}[/code]

Para você poder usar uma variavel de outra classe, voce deve criar um método para que ela posse ser editado e receber valores.
Isso é encapsular campos.

[code]public void class Nota1{

public static int iResultado = 0; /* Seleciono  >public static int iResultado = 0;<
                                                 * clico com botão direito e clico >Refatorar >Encapsular campos > 
                                                 * seleciona a caixa de criar Getter e Setter e clik OK' */

public void resultado(){
        //intruções de códigos
}

}[/code]

vai ficar assim

[code]public void class Nota1{

public static int iResultado = 0; /* Seleciono  >public static int iResultado = 0;<
                                                 * clico com botão direito e clico >Refatorar >Encapsular campos > 
                                                 * seleciona a caixa de criar Getter e Setter e clik OK' */

public void resultado(){
        //intruções de códigos
}

// abaixo

/**
* @return the iResultado
*/
public static int getiResultado() {
return iResultado;
}

/**
 * @param aiResultado the iResultado to set
 */
public static void setiResultado(int aiResultado) {
    iResultado = aiResultado;
}

}[/code]

Parece complicado mais é tudo muito rápido em menos d 1 min voce faz isso tudo, é apenas pratica…

Usando a classe Nota2

[code]public void class Nota2{

   Nota1 objeto = new Nota1(); //Crio um novo objeto da classe nota1.

   objeto.resultado(); //Chama a função resultado
   
   public void Nota2(){//método construtor

          objeto.setiResultado(10); //Altero o valor da variavel iResultado da classe Nota1  >objeto.setiResultado(qualquer valor inteiro);<
          objeto.getiResultado(); //Mostra o valor que esta na variavel iResultado.

   }


}[/code]

Usando essa lógica de Orientação a objetos em qualquer projeto que voce for fazer, vai diminuir muito o codigo e vai deixar tudo mais compreensivel, ou seja, mais lógico.

Dê uma olhada em como foi feito esse mesmo projeto em C++, neste site http://alinebossi.wordpress.com/tag/funcoes-c/, da pra fazer tranquilamente em java, usando apenas duas classes, clsNota e clsResultado;

Ao postar tópicos, por favor, siga essas dicas para deixar o código formatado:

Além disso, dê um título descritivo. “Ajuda java” não dá qualquer dica sobre o que é sua dúvida.
Que vc queria ajuda, e que a linguagem era Java, ficou óbvio assim que você criou o tópico. :wink:

Valeu ai charleston10 me ajudo bastante -

Malz ai vini criei conta aqui ontem mesmo a conta já fui postando kkkk

Realmente kkkk

Consegui chama… fico assim, caso alguém tiver a mesma dúvida sei lá, ta ai

[code]import entrada.IO;

class Medias
{
private int n1,n2;

Medias()
{
do
{
System.out.print("Informe a primeira nota do aluno (0 à 10) : ");
n1 = IO.readInt();
}while(n1<=-1 || n1>=11 );

    do
    {
   System.out.print("Informe a segunda nota do aluno (0 à 10) : ");
   n2= IO.readInt(); 
   }while(n2<=-1 || n2>=11);

}

public int Soma()
{
    int res;
    res = n1+n2;
    return(res/2);
}

}

class MostraResultado
{
    static Medias r = new Medias();
    
    public static void main (String args[] ){
        
        System.out.print("Sua media foi de : " + r.Soma());
        
        if(r.Soma()>=7)
   {
       System.out.print("\nParabéns aluno Aprovado! ");
       
   }
    
        if(r.Soma()>3 & r.Soma()<7)
       {
           System.out.print("\nAluno ficou de exame! ");
       }

       if(r.Soma()<3)
       {
       System.out.print("\nAluno reprovado !");
       }
    
    }
}[/code]