Olá pessoal, tenho o seguinte:
[code]import javax.swing.JOptionPane;
public class Array2 {
public static void main(String[] args) {
Integer notas[] = new Integer[5];
int maior = 0;
int menor = Integer.MAX_VALUE;
int notaFinal = 0;
notas[0] = Integer.parseInt(JOptionPane.showInputDialog("Digite uma nota"));
notas[1] = Integer.parseInt(JOptionPane.showInputDialog("Digite uma nota"));
notas[2] = Integer.parseInt(JOptionPane.showInputDialog("Digite uma nota"));
notas[3] = Integer.parseInt(JOptionPane.showInputDialog("Digite uma nota"));
notas[4] = Integer.parseInt(JOptionPane.showInputDialog("Digite uma nota"));
for (int i = 0; i < notas.length; i++) {
if (notas[i] < menor) {
menor = notas[i];
}
if (notas[i] > maior) {
maior = notas[i];
}
notaFinal = notaFinal + notas[i];
}
JOptionPane.showMessageDialog(null, "Soma das notas desprezando a maior e a menor nota: " + (notaFinal-menor-maior));
JOptionPane.showMessageDialog(null,
"Menor nota: " + menor);
JOptionPane.showMessageDialog(null,
"Maior nota: " + maior);
}
}[/code]
E tenho uma duvida, se eu quiser usar um loop nesse JOptionPane, para eu não ter que digitar os 6 JOptionPane, como eu poderia usar o loop.
Pois por exemplo, se a pessoa tivesse que digitar 30 numeros, eu teria que fazer 30 JOptionPane, para receber cada numero, isso ficaria estranho.
Queria uma luz de como usar eese loop.
Valeu ![:slight_smile: :slight_smile:](https://www.guj.com.br/images/emoji/twitter/slight_smile.png?v=9)
[code]
import javax.swing.JOptionPane;
public class Array2 {
public static void main(String[] args) {
Integer notas[] = new Integer[5];
int maior = 0;
int menor = Integer.MAX_VALUE;
int notaFinal = 0;
for (int i = 0; i < notas.length; i++) {
notas[i] = Integer.parseInt(JOptionPane.showInputDialog("Digite uma nota"));
if (notas[i] < menor) {
menor = notas[i];
}
if (notas[i] > maior) {
maior = notas[i];
}
notaFinal = notaFinal + notas[i];
}
JOptionPane.showMessageDialog(null, "Soma das notas desprezando a maior e a menor nota: " + (notaFinal-menor-maior));
JOptionPane.showMessageDialog(null,
"Menor nota: " + menor);
JOptionPane.showMessageDialog(null,
"Maior nota: " + maior);
}
}[/code]
[quote=ViniGodoy][code]
import javax.swing.JOptionPane;
public class Array2 {
public static void main(String[] args) {
Integer notas[] = new Integer[5];
int maior = 0;
int menor = Integer.MAX_VALUE;
int notaFinal = 0;
for (int i = 0; i < notas.length; i++) {
notas[i] = Integer.parseInt(JOptionPane.showInputDialog("Digite uma nota"));
if (notas[i] < menor) {
menor = notas[i];
}
if (notas[i] > maior) {
maior = notas[i];
}
notaFinal = notaFinal + notas[i];
}
JOptionPane.showMessageDialog(null, "Soma das notas desprezando a maior e a menor nota: " + (notaFinal-menor-maior));
JOptionPane.showMessageDialog(null,
"Menor nota: " + menor);
JOptionPane.showMessageDialog(null,
"Maior nota: " + maior);
}
}[/code][/quote]
Viny, então é só você passar que notas[i] (i significa linha, não é?) vai receber o JOptionPane então?
Valeu
Dentro daquele for, i é o índice da nota que está sendo lida. O for varia de 0 até 4.
Olá Lucas,
i é o índice (posição, sendo zero a primeira) do teu array.
Hmm, entendo, só uma duvida que tenho, por exemlo se eu quizesse por por exemplo:
JOptionPane.showInputDialog("Digite a primeira nota");
JOptionPane.showInputDialog("Digite a segunda nota");
E assim por diante até chegar a 5ª nota.
Teria que fazer colocando JOptionPane por JOptionPane, pois o loop não me permite por exemplo só mudar a segunda palavra da mensagem.
Valeu.
Amigo, colocar as palavras “primeiro”, “segundo”, etc seria complicado.
Mas “1a.”, “2a.”, etc é fácil.
JOptionPane.showInputDialog("Digite a "+(i+1)+"a. nota");
[quote=jyoshiriro]Amigo, colocar as palavras “primeiro”, “segundo”, etc seria complicado.
Mas “1a.”, “2a.”, etc é fácil.
JOptionPane.showInputDialog("Digite a "+(i+1)+"a. nota");
[/quote]
É eu fiz isso Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a nota n° " +(i+1)));
Só tinha duvida mesmo quanto as palavras, mais ja que é meio complicado ![:frowning: :frowning:](https://www.guj.com.br/images/emoji/twitter/frowning.png?v=9)
Mais valeu ![:smiley: :smiley:](https://www.guj.com.br/images/emoji/twitter/smiley.png?v=9)
Crie um array contendo as cinco palavras:
final String[] palavras = new String[ 5 ];
palavras[0] = "primeiro";
palavras[1] = "segundo";
palavras[2] = "terceiro";
palavras[3] = "quarto";
palavras[4] = "quinto";
No loop, você irá acessando cada posição do array.
É uma alternativa!
[quote=Eder Peixoto]Crie um array contendo as cinco palavras:
final String[] palavras = new String[ 5 ];
palavras[0] = "primeiro";
palavras[1] = "segundo";
palavras[2] = "terceiro";
palavras[3] = "quarto";
palavras[4] = "quinto";
No loop, você irá acessando cada posição do array.
É uma alternativa![/quote]
Valeu cara, deu certo.
Ficou assim :
[code]final String[] palavras = new String[ 5 ];
palavras[0] = “primeira”;
palavras[1] = “segunda”;
palavras[2] = “terceira”;
palavras[3] = “quarta”;
palavras[4] = “quinta”;
for (int i = 0; i < notas.length; i++) {
notas[i] = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a "+ palavras[i]+" nota"));[/code]
E pelo que eu entendi esse final antes de String, não permite que seja alterado, certo?
O uso de final para variáveis não primitivas significa que após informada uma referência, essa não poderá ser alterada.