Java JOptionPane循环
我有个问题。我的讲师想让我做一个循环,输入JOptionPane,输出console。如何使用loop for JOptionPane并通过控制台发送输出 这是我的密码:Java JOptionPane循环,java,swing,loops,if-statement,Java,Swing,Loops,If Statement,我有个问题。我的讲师想让我做一个循环,输入JOptionPane,输出console。如何使用loop for JOptionPane并通过控制台发送输出 这是我的密码: int even = 0; int odd = 0; int e_e = 0; int o_o = 0; String a1 = JOptionPane.showInputDialog(null, "Type in 10 integer"); for (int counter = 0; counter < 10; c
int even = 0;
int odd = 0;
int e_e = 0;
int o_o = 0;
String a1 = JOptionPane.showInputDialog(null, "Type in 10 integer");
for (int counter = 0; counter < 10; counter++){
int a = Integer.parseInt(a1);
if (a % 2 == 0) {
even++;
e_e += a;
} else {
odd++;
o_o += a;
}
}
System.out.println("\n\nNumber of even numbers : " + even);
System.out.println("Number of odd numbers : " + odd);
System.out.println("Total of even numbers : " + e_e);
System.out.println("Total of odd numbers : " + o_o);
当前代码的问题在于,您只要求用户输入一次数字,但实际上您似乎想要10个值。所以你解析了十次相同的值 解决方案很简单,将对话框放在循环中只更改带有注释的行:
int even = 0;
int odd = 0;
int e_e = 0;
int o_o = 0;
// No return type, just a message
JOptionPane.showMessageDialog(null, "Type in 10 integer");
for (int counter = 0; counter < 10; counter++) {
// Dialog inside the loop, asking to
// input a number in every iteration
String value = JOptionPane.showInputDialog(null, "Type in "
+ (counter + 1) + ". value");
int a = Integer.parseInt(value);
if (a % 2 == 0) {
even++;
e_e += a;
} else {
odd++;
o_o += a;
}
}
System.out.println("\n\nNumber of even numbers : " + even);
System.out.println("Number of odd numbers : " + odd);
System.out.println("Total of even numbers : " + e_e);
System.out.println("Total of odd numbers : " + o_o);
我会尝试使用带和int[]的DO-WHILE循环,例如:
int size = 10;
int count = 0;
int[] yourNumbers = new int[size];
do {
yourNumbers[count] = Integer.parseInt(JOptionPane.showInputDialog(null,
"Your message here."));
count++;
} while (count < 10);
通过这种方式,您可以循环并获取所有数字。然后,您可以使用FOR-LOOP循环并打印所需内容
System.out.println("Even Numbers are: ");
for(int i = 0; i < yourNumbers.length; i++) {
if (yourNumbers[i] % 2 == 0) {
System.out.println(yourNumbers[i]);
}
}
System.out.println("Odd Numbers are: ");
for(int i = 0; i < yourNumbers.length; i++) {
if (yourNumbers[i] % 2 != 0) {
System.out.println(yourNumbers[i]);
}
}
好吧,只要把你对JOptionPane的呼叫放在一个循环中。。。你的程序应该做什么?然后我们可以给你一个关于如何改变你的特定程序的明确建议。如果用户回答了你的问题,请也接受他的回答。如果没有,请说明还有什么问题没有回答,这是StackOverflow的一个非常重要的部分,非常感谢。我不认为首先收集所有值,然后再次迭代以处理它们有什么好处。但是,是的,也有用。当然很高兴知道如何在数组中存储值。谢谢。非常感谢。