package exercinco;
import javax.swing.JOptionPane;
/**
*
-
@author Dioni Deivid
*/
public class ExerCinco {
/**
-
@param args the command line arguments
*/
public static void main(String[] args) {
int quantiAluno,Prova1,Prova2,mediafinal;
String aux;
String NomeAluno;
aux= JOptionPane.showInputDialog(“Informe a quantidade de alunos:”);
quantiAluno=Integer.parseInt(aux) ;
do {
NomeAluno = JOptionPane.showInputDialog("informe o nome do aluno ");
aux = JOptionPane.showInputDialog(“informe a nota da primeira prova:”);
Prova1 = Integer.parseInt(aux);
aux = JOptionPane.showInputDialog(“informe a nota da segunda prova:”);
Prova2 = Integer.parseInt(aux);
mediafinal= (Prova1+Prova2)/2;
JOptionPane.showMessageDialog(null,“media final do Aluno :”+NomeAluno+" é "+mediafinal);
} while (quantiAluno==quantiAluno ); // queria saber qual estrutura devo usar e como devo , para o loop fazer a quantidades de vezes que o usuario informar
}
}
Tente assim:
[code]public static void main(String[] args) {
int quantiAluno,Prova1,Prova2,mediafinal, x=0;
String aux="";
String NomeAluno="";
quantiAluno= Integer.parseInt( JOptionPane.showInputDialog(“Informe a quantidade de alunos:”));
do {
NomeAluno = JOptionPane.showInputDialog("informe o nome do aluno ");
aux = JOptionPane.showInputDialog("informe a nota da primeira prova:");
Prova1 = Integer.parseInt(aux);
aux = JOptionPane.showInputDialog("informe a nota da segunda prova:");
Prova2 = Integer.parseInt(aux);
mediafinal= (Prova1+Prova2)/2;
JOptionPane.showMessageDialog(null,"media final do Aluno :"+NomeAluno+" é "+mediafinal);
x = x+1;
} while (quantiAluno > x );
}[/code]
obrigado colega mas ,
o loop esta em 3 voltas , ou seja 3 vezes ele perguta o nome do aluno ,
eu quero que ele fassa o loop igual a quantidade de alunos
obrigado;…
[quote=dioni deivid dors]obrigado colega mas ,
o loop esta em 3 voltas , ou seja 3 vezes ele perguta o nome do aluno ,
eu quero que ele fassa o loop igual a quantidade de alunos
obrigado;…[/quote]
Então, a pergunta do nomo do aluno, está dentro do loop, por isso que repete.
acho que me me expressei errado , o loop deve ser igual a quanditade de alunos ,
não a quantidade de provas,
[quote=dioni deivid dors]acho que me me expressei errado , o loop deve ser igual a quanditade de alunos ,
não a quantidade de provas, [/quote]
sim amigo, a lógica é essa, vc ja rodou ai ?
olha só , tenhu que faze um programa assim :
para que no início
do programa seja solicitada a quantidade de alunos da classe. Para
cada aluno, o programa solicitará o nome do aluno e as notas das duas
provas e na sequência mostrará o nome e a média do aluno.
esse execicio ai tenhu que faze,
fasso ciencia da computação. valeu
oh brother ta indo , valeu irmão
Olá dioni deivid dors!
Para este seu caso a melhor opção seria usar o loop for, que é indicado para quando se conhece o número de repetições que será necessária… o loop while/do…while é mais usado quando não se conhece o número de repetições que será necessário fazer… Tem uma explicação legal neste outro tópico do GUJ http://www.guj.com.br/java/264564-resolvido-do-while-como-e-quando-usar--duvida
Seu caso com for ficaria assim:
for (int i = 0, i < quantiAluno, i++) {
NomeAluno = JOptionPane.showInputDialog("informe o nome do aluno ");
aux = JOptionPane.showInputDialog("informe a nota da primeira prova:");
Prova1 = Integer.parseInt(aux);
aux = JOptionPane.showInputDialog("informe a nota da segunda prova:");
Prova2 = Integer.parseInt(aux);
mediafinal= (Prova1 + Prova2)/2;
JOptionPane.showMessageDialog(null,"media final do Aluno: " + NomeAluno + " é " + mediafinal);
}
Se você inicializar i com 0 então na condição usa i < quantiAluno, se inicializar i com 1 então na condição usa i <= quantiAluno.
Abraços!