Sou novo aqui no forum e no java também .. estou aprendendo agora na faculdade.
No caso gostaria que vocês me ajudassem com um problema, o professor pediu um trabalho só que não consigo termina-lo pois não consigo fazer com que o programa continue rodando.
Ja coloquei o maldito do WHile em todos os lugares possiveis e porque o programa não continua rodando, do jeito que está abaixo ele roda uma vez dai para e assim não é legal não posso deixar o programa assim.
teria como alguem me explicar onde devo colocar o while e porque?
segue abaixo o código:
Obrigado desde já ..
packagejavaapplication2;importjava.io.*;classstatusaluno{publicstaticvoidmain(Stringargs[]){BufferedReaderentrada;entrada=newBufferedReader(newInputStreamReader(System.in));floatfrequencia,nota1,nota2,nota3,media=0;inttotalaulas,totalfaltas;try{System.out.println("Digite o Total de Aulas do Semestre");totalaulas=Integer.parseInt(entrada.readLine());System.out.println("Digite o Total de Faltas no Semestre");totalfaltas=Integer.parseInt(entrada.readLine());System.out.println("Digite a nota da AV1.");nota1=Float.parseFloat(entrada.readLine());System.out.println("Digite a nota da AV2.");nota2=Float.parseFloat(entrada.readLine());System.out.println("Digite a nota da AV3.");nota3=Float.parseFloat(entrada.readLine());frequencia=(float)(totalaulas*0.25);if(totalfaltas<frequencia){if(nota1>=nota3&¬a2>=nota3){media=(nota1+nota2)/2;}else{if(nota2>=nota1&¬a3>=nota1){media=(nota2+nota3)/2;}}if(nota1>=nota2&¬a3>=nota2){media=(nota1+nota3)/2;}if(media>=5){System.out.println("O Aluno foi aprovado pois nao atingiu o limite de 25% de faltas.");System.out.println("E porque sua média foi de "+media);}if(media<5){System.out.println("O Aluno não atingiu o limite de faltas.");System.out.println("Porém foi reprovado pois sua média foi inferior a 5, média de:"+media);}}else{System.out.println("O aluno está reprovado por atingir mais de 25% do limite de faltas ");}}catch(Exceptione){System.out.println("Ocorreu um erro durante a leitura ! ");}}}
packagejavaapplication2;importjava.io.*;classstatusaluno{publicstaticvoidmain(Stringargs[]){BufferedReaderentrada;entrada=newBufferedReader(newInputStreamReader(System.in));floatfrequencia,nota1,nota2,nota3,media=0;inttotalaulas,totalfaltas;while(true){try{System.out.println("Digite o Total de Aulas do Semestre");totalaulas=Integer.parseInt(entrada.readLine());System.out.println("Digite o Total de Faltas no Semestre");totalfaltas=Integer.parseInt(entrada.readLine());System.out.println("Digite a nota da AV1.");nota1=Float.parseFloat(entrada.readLine());System.out.println("Digite a nota da AV2.");nota2=Float.parseFloat(entrada.readLine());System.out.println("Digite a nota da AV3.");nota3=Float.parseFloat(entrada.readLine());frequencia=(float)(totalaulas*0.25);if(totalfaltas<frequencia){if(nota1>=nota3&¬a2>=nota3){media=(nota1+nota2)/2;}else{if(nota2>=nota1&¬a3>=nota1){media=(nota2+nota3)/2;}}if(nota1>=nota2&¬a3>=nota2){media=(nota1+nota3)/2;}if(media>=5){System.out.println("O Aluno foi aprovado pois nao atingiu o limite de 25% de faltas.");System.out.println("E porque sua média foi de "+media);}if(media<5){System.out.println("O Aluno não atingiu o limite de faltas.");System.out.println("Porém foi reprovado pois sua média foi inferior a 5, média de:"+media);}}else{System.out.println("O aluno está reprovado por atingir mais de 25% do limite de faltas ");}System.out.println();System.out.println("Deseja continuar? [S / N]");Stringsair=entrada.readLine();if(sair.trim().toUpperCase().equals("N")){break;}System.out.println("\n\n\n");}catch(Exceptione){System.out.println("Ocorreu um erro durante a leitura ! ");}}}}
Espero ter ajudado.
Abraço!
Scoobydoo
packagejavaapplication2;importjava.io.*;classstatusaluno{publicstaticvoidmain(Stringargs[]){BufferedReaderentrada;entrada=newBufferedReader(newInputStreamReader(System.in));floatfrequencia,nota1,nota2,nota3,media=0;inttotalaulas,totalfaltas;Stringcontinuar=S;whileContinuar.equals("S"){System.out.println("Deseja Continuar ?");Continuar=(entrada.readLine());try{System.out.println("Digite o Total de Aulas do Semestre");totalaulas=Integer.parseInt(entrada.readLine());System.out.println("Digite o Total de Faltas no Semestre");totalfaltas=Integer.parseInt(entrada.readLine());System.out.println("Digite a nota da AV1.");nota1=Float.parseFloat(entrada.readLine());System.out.println("Digite a nota da AV2.");nota2=Float.parseFloat(entrada.readLine());System.out.println("Digite a nota da AV3.");nota3=Float.parseFloat(entrada.readLine());frequencia=(float)(totalaulas*0.25);if(totalfaltas<frequencia){if(nota1>=nota3&¬a2>=nota3){media=(nota1+nota2)/2;}else{if(nota2>=nota1&¬a3>=nota1){media=(nota2+nota3)/2;}}if(nota1>=nota2&¬a3>=nota2){media=(nota1+nota3)/2;}if(media>=5){System.out.println("O Aluno foi aprovado pois nao atingiu o limite de 25% de faltas.");System.out.println("E porque sua média foi de "+media);}if(media<5){System.out.println("O Aluno não atingiu o limite de faltas.");System.out.println("Porém foi reprovado pois sua média foi inferior a 5, média de:"+media);}}else{System.out.println("O aluno está reprovado por atingir mais de 25% do limite de faltas ");}}catch(Exceptione){System.out.println("Ocorreu um erro durante a leitura ! ");}}}}
A unica coisa que voce não deve repetir é a Declaração de Variaveis
Hebertbc
Desse jeito aki ele roda eternamente, caso seja o que queria.
importjava.io.BufferedReader;importjava.io.InputStreamReader;classstatusaluno{publicstaticvoidmain(Stringargs[]){BufferedReaderentrada;entrada=newBufferedReader(newInputStreamReader(System.in));floatfrequencia,nota1,nota2,nota3,media=0;inttotalaulas,totalfaltas;//Inicio do laçowhile(true){try{System.out.println("Digite o Total de Aulas do Semestre");totalaulas=Integer.parseInt(entrada.readLine());System.out.println("Digite o Total de Faltas no Semestre");totalfaltas=Integer.parseInt(entrada.readLine());System.out.println("Digite a nota da AV1.");nota1=Float.parseFloat(entrada.readLine());System.out.println("Digite a nota da AV2.");nota2=Float.parseFloat(entrada.readLine());System.out.println("Digite a nota da AV3.");nota3=Float.parseFloat(entrada.readLine());frequencia=(float)(totalaulas*0.25);if(totalfaltas<frequencia){if(nota1>=nota3&¬a2>=nota3){media=(nota1+nota2)/2;}else{if(nota2>=nota1&¬a3>=nota1){media=(nota2+nota3)/2;}}if(nota1>=nota2&¬a3>=nota2){media=(nota1+nota3)/2;}if(media>=5){System.out.println("O Aluno foi aprovado pois nao atingiu o limite de 25% de faltas.");System.out.println("E porque sua mãdia foi de "+media);}if(media<5){System.out.println("O Aluno não atingiu o limite de faltas.");System.out.println("Porem foi reprovado pois sua mãdia foi inferior a 5, media de:"+media);}}else{System.out.println("O aluno está reprovado por atingir mais de 25% do limite de faltas ");}}catch(Exceptione){System.out.println("Ocorreu um erro durante a leitura ! ");e.printStackTrace();}//Somente para efeito visualSystem.out.println("\n---------------------------------------------------------\n");}//Fim do laço}}
S
sbrito
Brigadao galera … valeu mesmo
eu só pensei em deixar o programa rodando + esqueci de que ele tem que parar uma hora tambem … aff
o Scoobydoo deixou de uma forma que pergunta pra pessoa se ela quer continuar ou não eu queria fazer desta forma ai que é bem melhor …
só que nao consegui rodar o programa que ele incrementou …
to tentando aki … + nao consigo
vocês estão me ajudando pacacete pra mim tudo isso ficava depois do try … + to vendo que é antes …
se algumem poder me ajudar com esse lance de deseja continuar … ou do jeito que to tentando agora que se o primeiro numero for negativo sai do program,a eu agradeço
valeu!
renanedpedroso
Roda o que eu postei amigo.
Observe que a pergunta de continuar vem mais no final do código.
S
sbrito
renanedpedroso
desculpa amigão não havia visto o final ... rodei aki e ficou perfeito !!!!!!! !! BRIGADAO MESMo !!
+ ae de tanto eu tentar e olhar o exemplo de vcs
fiz esta porcaria que funcionou + eh melhor usar o seu exemplo renane
to progredindo .. kkk valeu ! obrigado pela ajuda !!
importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;classstatusaluno{publicstaticvoidmain(Stringargs[])throwsIOException{BufferedReaderentrada;entrada=newBufferedReader(newInputStreamReader(System.in));floatfrequencia,nota1,nota2,nota3,media=0;inttotalaulas,totalfaltas,cont=0;System.out.println("Digite um numero maior que 0 para continuar ou um número negativo para fechar o programa");cont=Integer.parseInt(entrada.readLine());try{if(cont>=0){while(true){System.out.println("Digite o Total de Aulas do Semestre");totalaulas=Integer.parseInt(entrada.readLine());System.out.println("Digite o Total de Faltas no Semestre");totalfaltas=Integer.parseInt(entrada.readLine());System.out.println("Digite a nota da AV1.");nota1=Float.parseFloat(entrada.readLine());System.out.println("Digite a nota da AV2.");nota2=Float.parseFloat(entrada.readLine());System.out.println("Digite a nota da AV3.");nota3=Float.parseFloat(entrada.readLine());frequencia=(float)(totalaulas*0.25);if(totalfaltas<frequencia){if(nota1>=nota3&¬a2>=nota3){media=(nota1+nota2)/2;}else{if(nota2>=nota1&¬a3>=nota1){media=(nota2+nota3)/2;}}if(nota1>=nota2&¬a3>=nota2){media=(nota1+nota3)/2;}if(media>=5){System.out.println("O Aluno foi aprovado pois nao atingiu o limite de 25% de faltas.");System.out.println("E porque sua mãdia foi de "+media);}if(media<5){System.out.println("O Aluno não atingiu o limite de faltas.");System.out.println("Porem foi reprovado pois sua mãdia foi inferior a 5, media de:"+media);}}else{System.out.println("O aluno está reprovado por atingir mais de 25% do limite de faltas ");}System.out.println("\n---------------------------------------------------------\n");}}}catch(Exceptione){System.out.println("Ocorreu um erro durante a leitura ! ");e.printStackTrace();}System.out.println("\n---------------------------------------------------------\n");}}