Ajudinha ao acessar objeto de uma classe

Tipo galera eu tenho as classe produtoquimico e verificar.

da erro na linha 23 onde tem: quantidadeEmEstoque = (produto1.getQuantidadeestoque());

Tipo essa e minha duvida galera.

tipo logo acima eu crio um objeto com nome produto1, a eustão e eu preciso acessar esse objeto abaixo para poder pegar o valor da quantidadeestoque, so que axo que tou fazendo da forma errada alguem pode ajudar ae.

[code] case 3 : while (true) {
System.out.println("---------------------------");
System.out.println(“Informe os Dados do Produto”);
System.out.println("---------------------------");
System.out.println("");
System.out.print(“Digite o Codigo do Produto…: “);
String codproduto = Keyboard.readString();
System.out.print(“Digite o nome do Produto.: “);
String nomeproduto = Keyboard.readString();
System.out.print(“Digite a quantidade do produto.: “);
int quantidadeestoque = Keyboard.readInt();
Produtoquimico produto1= new Produtoquimico(codproduto, nomeproduto, quantidadeestoque );
break;
}
case 4 : while (true) {
System.out.println(”--------------------”);
System.out.println(“Retirada de Produtos”);
System.out.println(”--------------------”);
System.out.println(””);
System.out.print("Informe a quantidade que deseja retirar ");
int quantidadesolicitada = Keyboard.readInt();
valorsolicitacao= quantidadesolicitada;
quantidadeEmEstoque = (produto1.getQuantidadeestoque());
Verificar estoque1 = new Verificar(valorsolicitacao, quantidadeEmEstoque);

                    if (estoque1.getValorsolicitacao() > estoque1.getQuantidadeEmEstoque())   
                   {     
                    // Mostrar para o usuario   
                   System.out.println("A quantidade solicitada é maior que a disponivel");     
     
                   }else   
                   {     
                    // Mostrar para o usuario   
                    System.out.println("Solicitação realizada");     
                   }    

      	            break; 
      	            }
      	       break;      
      case 0 : break;                

             default :{
              /*
               * Mostra mensagem de erro
               */
              System.out.println("Opcao invalida");
             }
  }
} while (opcao != 0);

System.out.println("--------------------------------------------");
System.exit(0);

}

}[/code]

ok mas qual o nome da exceção e essa variável onde foi criada "quantidadeEmEstoque "??

Não entendi o que vc quiz dizer, sou tou vendo java a 3 semanas ae ta meio complexo ainda e tipo assim.

Dentro da classe Produtoquimico eu tenho os atributos

private String codproduto;
private String nomeproduto;
private int quantidadeestoque;

Ae no programa principal peço informaçãos sobre o produto conforme abaixo.

case 3 : while (true) { System.out.println("---------------------------"); System.out.println("Informe os Dados do Produto"); System.out.println("---------------------------"); System.out.println(""); System.out.print("Digite o Codigo do Produto..: "); String codproduto = Keyboard.readString(); System.out.print("Digite o nome do Produto.: "); String nomeproduto = Keyboard.readString(); System.out.print("Digite a quantidade do produto.: "); int quantidadeestoque = Keyboard.readInt(); Produtoquimico produto1= new Produtoquimico(codproduto, nomeproduto, quantidadeestoque ); break; }

Ae eu quero atribuir o valor da variavel quantidadeestoque na variavel de outra classe no caso quantidadeEmEstoque. que está no codigo abaixo.

[code] case 4 : while (true) {
System.out.println("--------------------");
System.out.println(“Retirada de Produtos”);
System.out.println("--------------------");
System.out.println("");
System.out.print("Informe a quantidade que deseja retirar ");
int quantidadesolicitada = Keyboard.readInt();
valorsolicitacao= quantidadesolicitada;
quantidadeEmEstoque = (produto1.getQuantidadeestoque());
Verificar estoque1 = new Verificar(valorsolicitacao, quantidadeEmEstoque);

                    if (estoque1.getValorsolicitacao() > estoque1.getQuantidadeEmEstoque())   
                   {     
                    // Mostrar para o usuario   
                   System.out.println("A quantidade solicitada é maior que a disponivel");     
     
                   }else   
                   {     
                    // Mostrar para o usuario   
                    System.out.println("Solicitação realizada");     
                   }    [/code]

assim fica complicado tenta ao menos por o erro…
este produto1 tem alguma quantidade em estoque? o getQuantidadeestoque não esta retornando null?

[quote=jingle]assim fica complicado tenta ao menos por o erro…
este produto1 tem alguma quantidade em estoque? o getQuantidadeestoque não esta retornando null?[/quote]

eu quero rodar o programa ae vou pedir pra usuario cadastrar o produto ae ele vai informar a quantidade cadastrada, logo abaixo vou verificar a quantidade cadastrada, mas pra isso preciso que a variavel quantidadeEmEstoque receba o valor que foi informado na variaval Quantidadeestoque

acussa esse erro - cannot find symbol variable produto1

na linha abaixo.

quantidadeEmEstoque = (produto1.getQuantidadeestoque());

você criou a variavel produto1? pelo que vi você criou em um case e utilizou em outro…
e por que esses while true? se sempre vai dar break na primeira passada?

[quote=jingle]você criou a variavel produto1? pelo que vi você criou em um case e utilizou em outro…
e por que esses while true? se sempre vai dar break na primeira passada?[/quote]

no caso produto1 e o objeto criado para a classe Produtoquimico, conforme abaixo.

Produtoquimico produto1= new Produtoquimico(codproduto, nomeproduto, quantidadeestoque );

Ae no caso eu preciso pegar a informação que vai ser digitada na quantidadeestoque, para poder atribuir a variavel quantidadeEmEstoque que faz parte da calsse Verificar.

tente criar a variável fora do swicht e apenas pegar e atribuir os valores para ela, nos case

exemplo de como podes fazer. mas tem que adaptar para seu código

            int x = 1;
            Produtoquimico produto1 = null;
            quantidadeEmEstoque = 0;
            switch (x){
                case 1 :{ 
                     //todo seu código normal
                    produto1= new Produtoquimico(codproduto, nomeproduto, quantidadeestoque );
                      //aqui vai estar no outro case tudo normal como você já faz
                    quantidadeEmEstoque = produto1.getQuantidadeestoque();
                }
            }

[quote=jingle]exemplo de como podes fazer. mas tem que adaptar para seu código

int x = 1; Produtoquimico produto1 = null; quantidadeEmEstoque = 0; switch (x){ case 1 :{ //todo seu código normal produto1= new Produtoquimico(codproduto, nomeproduto, quantidadeestoque ); //aqui vai estar no outro case tudo normal como você já faz quantidadeEmEstoque = produto1.getQuantidadeestoque(); } } [/quote]

Po mano vlw mesmo pela ajuda, dessa forma ae funcinou blz.

Poderia me explicar o sentindo.

Produtoquimico produto1 = null; na verdade eu to fazendo o que aqui colocando assim no codigo.

você esta apenas inicializando ela como null. do mesmo modo que inicializou a variável do tipo int com o 0.
pois em certos momentos é preciso que a variável já esteja inicializada.
tome cuidado. pois se a opção 4 for escolhida antes da 3 vai da erro. pois seu produto1 ainda não foi criado, lembre de tratar isso.

JINGLE , Muito obrigado ae pela ajuda e as explicações vlw mesmo.

:smiley: