Bloco de Citação<… String nome_aluno = new String[50];
double notas_aluno = new double[5];
// pra que declarar o j aqui em cima se ele só faz parte do for que tem lá embaixo?
boolean opcao = false; // tem que inicializar com true dentro do laço 'do-while'
String resp;
Scanner sc = new Scanner(System.in);
do
{
// essas duas variáveis aqui podem ser declaradas dentro do while
double media = 0, soma = 0;
int j = 0;
notas_aluno[j] = 0;
for (int i = 0; i < nome_aluno.length; i++)
{
System.out.println("Insira o nome do aluno: ");
nome_aluno[i] = sc.nextLine(); // usa sc.nextLine()
//soma = 0;
for (j = 0; j < notas_aluno.length; j++) // porque 4 ? usa o notas_aluno.length
{
System.out.println("Entre com a " + (j + 1) + " ª nota do aluno: " + (i + 1));
notas_aluno[j] = sc.nextDouble();
//notas_aluno[j] = Double.parseDouble(sc.nextLine()); // usa Double.parseDouble(sc.nextLine())
soma = soma + notas_aluno[j];
}
media = soma / 5; // pq 5 ? usa o notas_aluno.length
String aproveitamento = "";
if (media >= 9 && media <= 10) {
aproveitamento = "A";
} else if (media >= 7.5 && media < 9) { // não precisa testar se é < 9
aproveitamento = "B";
} else if (media >= 6 && media < 7.5) { // não precisa testar se é < 7.5
aproveitamento = "C";
} else if (media >= 4 && media < 6) { // não precisa testar se é < 6
aproveitamento = "D";
} else if (media >= 0 && media < 4) { // não precisa testar se é < 4
aproveitamento = "E";
}
System.out.println("Média: " + media);
System.out.println("Conceito: " + aproveitamento);
switch (aproveitamento)
{
case "A":
case "B":
case "C":
System.out.println("APROVADO");
break;
case "D":
case "E":
System.out.println("REPROVADO");
break;
}
System.out.print("Deseja Continuar? <s/n>: ");
resp = sc.nextLine(); // usa sc.nextLine()
if (resp.equalsIgnoreCase("n"))
opcao = true;
}
}while (!opcao);
String resp;
boolean opcao = false;
Scanner sc = new Scanner(System.in);
do
{
System.out.print("Deseja Continuar? <s/n>: ");
resp = sc.nextLine();
//} while (!opcao.equalsIgnoreCase(resp)); //while ( opcao != 'n'); // só pára se for == 'n'
if(resp.equalsIgnoreCase("n"))
{
opcao = true;
System.out.println("Saiu!");
//break;
}
}while(!opcao); ...>
Prazer a todos. Interessante, seu eu tirar o código entre o d{ e a pergunta para sair, o while funciona perfeitamente, porém se eu retorno como o código para ler as notas e calcular o while não funciona para quando tiver menos de 50 alunos. Não consigo encontrar o erro. Obrigado.