有没有办法只使用一个具有多个整数的for循环?目前我只编写了int num0的代码。但有没有办法在同一个代码中使用num1,num2,num3的其余部分?我在这里要求这个的原因是因为我不是一个经验丰富的程序员,我想知道你们是否知道是否有解决方案。 (原谅我的坏语法)
public void exercise1c() {
int num0, num1, num2, num3;
num0 = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
num1 = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
num2 = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
num3 = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
for (int i = 0; i <= num0; i++) {
if (num0 <= 0) {
System.out.println("Number "+ num0 + " is negative.");
break;
}
}
if (num0 >= 0) {
System.out.println(num0 + " is a integer.");
}
if (num0 == 0){
System.out.println(num0 + " is zero.");
}
}
答案 0 :(得分:2)
将num0, num1, num2, num3
添加到List
或array
,然后您可以使用单个for
循环
例如:int[]
int[] num = new int[4];
num[0] = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
num[1] = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
num[2] = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
num[3] = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
for (int i = 0; i < num.length; i++) {
if (num[i] < 0) {
System.out.println("Number " + num[i] + " is negative.");
break;
}
if (num[i] > 0) {
System.out.println(num[i] + " is a integer.");
}
if (num[i] == 0) {
System.out.println(num[i] + " is zero.");
}
}
如何使用List
例如:
List<Integer> numList = new ArrayList<>();
numList.add(Integer.parseInt(JOptionPane.showInputDialog("Write a number.")));
numList.add(Integer.parseInt(JOptionPane.showInputDialog("Write a number.")));
numList.add(Integer.parseInt(JOptionPane.showInputDialog("Write a number.")));
numList.add(Integer.parseInt(JOptionPane.showInputDialog("Write a number.")));
for (Integer i :numList) {
if (i < 0) {
System.out.println("Number " + i + " is negative.");
break;
}
if (i > 0) {
System.out.println(i + " is a integer.");
}
if (i == 0) {
System.out.println(i + " is zero.");
}
}
答案 1 :(得分:1)
使用array:
int[] num = new int[4];
num[0] = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
num[1] = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
num[2] = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
num[3] = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
for(int i = 0; i<num.length; i++) {
int currentInteger = num[i];
//other code here...
}
答案 2 :(得分:1)
首先,这些对象num#不是数组,而是基元,如果它们是整数。 如果三个数组的长度相同,答案是肯定的!
for (int i =0; i < numArray.length; i++)
但是如果你正在寻找一种在数组中迭代的快速方法
for (int i : numArray)
System.out.println("The number is: " + i);
答案 3 :(得分:0)
你可以这样做:
int num[]=new int[4];
for(int i=0;i<4;i++){
num[i] = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
}
// Do something
答案 4 :(得分:0)
也许你的意思是:
static final int N = 4; // <-- the number of integers you have.
public void exercise1c() {
int num[] = new int [4];
for (i = 0; i < N; i++) {
num[i] = Integer.ParseInt(JOptionPane.showInputDialog("Write a number."));
// you need here some means to get the number into num[i].
} /* for */
for (i = 0; i < N; i++) {
if (num[i] < 0) { // < 0 for negative number. 0 is not negative.
System.out.println("Number " + num[i] + " is negative.");
// break; // don't know what you pretend here.
} else if (num[i] > 0) {
System.out.println("Number " + num[i] + " is positive.");
} else {
System.out.println("Number " + num[i] + " is zero.");
} /* if */
} /* for */
} /* exercise1c() */