Estou criando alguns Hello Worlds aqui e estou com dificuldade no código abaixo... o Eclipse não encontra erro algum... mas ele fica em LOOPING no comando WHILE =S
O que poderia estar errado?
importjava.util.Scanner;publicclassretangulo{publicstaticvoidmain(String[]args){intbase,altura,area,pergunta;Stringnome;Scannerentrada=newScanner(System.in);System.out.println("Insira seu nome: ");nome=entrada.nextLine();System.out.println("");System.out.println("Olá "+nome+", vamos calcular a ÁREA de um retângulo? (1-Sim | 2-Não)");pergunta=entrada.nextInt();do{System.out.println("Você deve inserir o número correspondente a opção desejada: ");System.out.println("1 (Sim) ou 2 (Não)");System.out.println("Você ainda deseja calcular a Área de um retângulo?");pergunta=entrada.nextInt();}while((pergunta!=1||pergunta!=2));if(pergunta==1){System.out.println("Insira valor da BASE do retângulo: ");base=entrada.nextInt();System.out.println("Insira o valor da ALTURA do retângulo: ");altura=entrada.nextInt();area=(base*altura)/2;System.out.println("A área do retângulo informado é: "+area);}System.out.println("Fim");}}
Seu programa está com alguns erros de lógica... Olha ai o código consertado e algumas sugestões.
importjava.util.Scanner;// use letra maiúscula para nome de classepublicclassRetangulo{publicstaticvoidmain(String[]args){// declare uma variável por linhaintbase;intaltura;intarea;intpergunta;Stringnome;Scannerentrada=newScanner(System.in);System.out.println("Insira seu nome: ");nome=entrada.nextLine();System.out.println("");System.out.println("Olá "+nome+", vamos calcular a area de um retangulo? (1-Sim | 2-Nao)");pergunta=entrada.nextInt();// deve verificar se pergunta é igual a 1 para ficar no loopwhile(pergunta==1){System.out.println("Insira valor da BASE do retângulo: ");base=entrada.nextInt();System.out.println("Insira o valor da ALTURA do retângulo: ");altura=entrada.nextInt();// sua fórmula estava errada (vc usou a do triânguloarea=(base*altura);System.out.println("A área do retângulo informado é: "+area);System.out.println("Você deve inserir o número correspondente a opção desejada: ");System.out.println("1 (Sim) ou 2 (Nao)");System.out.println("Você ainda deseja calcular a area de um retângulo?");pergunta=entrada.nextInt();}System.out.println("Fim").}}
rodrigosan171
Caros(as) Colegas,
Muito obrigado pela colaboração!
Juntando as duas informações consegui rodar sem problemas meu Hello World!
Abaixo segue o resultado final:
importjava.util.Scanner;publicclassretangulo{publicstaticvoidmain(String[]args){intbase;intaltura;intarea;intpergunta;Stringnome;Scannerentrada=newScanner(System.in);System.out.println("Insira seu nome: ");nome=entrada.nextLine();System.out.println("");System.out.println("Olá "+nome+", vamos calcular a ÁREA de um retângulo? (1-Sim | 2-Não)");pergunta=entrada.nextInt();while(pergunta!=1&&pergunta!=2){System.out.println("Você deve inserir uma das opções existentes! ");System.out.println("Você ainda deseja calcular a Área de um retângulo?");System.out.println("1 (Sim) | 2 (Não)");pergunta=entrada.nextInt();}while(pergunta==1){System.out.println("Insira valor da BASE do retângulo: ");base=entrada.nextInt();System.out.println("Insira o valor da ALTURA do retângulo: ");altura=entrada.nextInt();area=(base*altura);System.out.println("A área do retângulo informado é: "+area);System.out.println("");System.out.println("Você ainda deseja calcular a Área de um retângulo?");System.out.println("1 (Sim) | 2 (Não)");pergunta=entrada.nextInt();}if(pergunta==2){System.out.println("Até logo!");}if(pergunta!=1&&pergunta!=2){System.out.println("Opção Inválida!");}System.out.println("Fim");}}
Abraços,
rodrigosan171
Agora sim segue o código com algumas otimizações... principalmente na parte de validação!
:lol:
importjava.util.Scanner;publicclassRetangulo2{publicstaticvoidmain(String[]args){intbase;intaltura;intarea;intpergunta=0;Stringnome;Scannerentrada=newScanner(System.in);System.out.println("Insira seu nome: ");nome=entrada.nextLine();while(pergunta!=2){System.out.println("\r\nOlá "+nome+", vamos calcular a ÁREA de um retângulo? 1 (Sim) ou 2 (Não)");switch(pergunta){case1:System.out.println("Insira valor da BASE do retângulo: ");base=entrada.nextInt();System.out.println("Insira o valor da ALTURA do retângulo: ");altura=entrada.nextInt();area=(base*altura);System.out.println("A área do retângulo informado é: "+area);System.out.println("");break;case2:System.out.println("Até logo!");System.out.println("Fim");break;default:System.out.println("Opção Inválida! ");break;}}}}
G
gzofera
isso ae kra, tipow… de uma olhada nos artigos e tutorias do forum tem mto material bom lah, daki uns dias vc jah vai tah dominando java