Olá pessoal, estou iniciando na programação em java, gostaria de tirar uma duvida: Criei um programa em que vc entra com alguns valores, porém se os valores ultrapassar um limite o programa imprime um erro, e encerra. Gostaria de saber se tem como eu retornar o programa ao inicio de novo sem ele encerrar, se isso inclue chamar o metodo main ou não.
Não, você não vai precisar chamar o método main novamente. Talvez seja o caso de você criar um while() e colocar um condição para o programa ficar rodando enquanto essa condição for verdadeira.
Mas posta seu código que fica mais fácil te ajudar.
MartinsAndreDablio
Posta o codigo…
Jeanfbs
importjava.util.Scanner;publicclassNotas{publicstaticvoidmain(String[]args){doublebis1,bis2,bis3,bis4;// Variaveis notas bimestrais.System.out.println("Digite as notas Bimestrais");bis1=newScanner(System.in).nextDouble();bis2=newScanner(System.in).nextDouble();bis3=newScanner(System.in).nextDouble();bis4=newScanner(System.in).nextDouble();// Verificação se as notas então dentro do minimo de 25.doubleresultado=(bis1+bis2+bis3+bis4);if((resultado>=0)&&(resultado<=100)){if(resultado>=60){System.out.println("Aprovado");}if(resultado<60){System.out.println("Recuperacao");}doublenotaFinal;// Verificação se a nota de recuperação foi suficiente para a aprovação.System.out.println("Digite as notas de recuperacao");notaFinal=newScanner(System.in).nextDouble();if(notaFinal>80){System.out.println("Aprovado");}else{System.out.println("Reprovado");}}else{// Aqui é onde o programa encerra com a mensagem de erroSystem.out.println("Error - digite as notas entre '0 e 25' ");}}}
romarcio
Como eu disse antes, um while() resolve isso para você.
Crie uma variavel que você possa usar como teste no loop, tipo uma com valor true/false.
Então inicie seu programa setando essa variável como true. Dentro do while(var == true){… seu código} adicione seu código.
E uma opção para passar a variável para false quando você quiser sair do programa.
Veja nesse tutorial sobre scanner, no final do post tem um exemplo feito mais ou menos como eu te falei.
Jeanfbs
Seria mais ou menos assim:
booleanno1=true;while(no1==true){programa}
Jeanfbs
Obrigado Romarcio, consegui entender como utilizar o while em looping infinito.
Valeu mesmo!!
Na verdade ainda não sabia utilizar bem uma variavel do tipo boolean, assim consegui resolver meu problema como vc me disse:
importjava.util.Scanner;publicclassNotas{publicstaticvoidmain(String[]args){doublebis1,bis2,bis3,bis4;booleanno1=true;// Variaveis notas bimestrais.while(no1==true){Stringnota2="Digite as notas Bimestrais";System.out.println(nota2);bis1=newScanner(System.in).nextDouble();bis2=newScanner(System.in).nextDouble();bis3=newScanner(System.in).nextDouble();bis4=newScanner(System.in).nextDouble();// Verificação se as notas então dentro do minimo de 25.doubleresultado=(bis1+bis2+bis3+bis4);if((bis1<=25)&&(bis2<=25)&&(bis3<=25)&&(bis4<=25)){if(resultado>=60){System.out.println("Aprovado");}while(resultado>=60){}if(resultado<60){System.out.println("Recuperacao");}doublenotaFinal;// Verificação se a nota de recuperação foi suficiente para a aprovação.System.out.println("Digite as notas de recuperacao");notaFinal=newScanner(System.in).nextDouble();if(notaFinal>80){System.out.println("Aprovado");}else{System.out.println("Reprovado");}}else{// Aqui é onde o programa encerra com a mensagem de erroStringmensage="Error - digite as notas entre '0 e 25' ";System.out.println(mensage);}}}}