[英]How do I make 1 for-loop for multiple integers?
有沒有一種方法只能對多個整數使用一個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.");
}
}
將num0, num1, num2, num3
添加到List
或array
,然后可以使用single for
循環
例如:with 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.");
}
}
使用數組 :
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...
}
首先,那些對象num#不是數組,而是基元(如果它們是整數)。 如果三個數組的長度相同,答案是肯定的!
for (int i =0; i < numArray.length; i++)
但是,如果您正在尋找一種快速迭代數組的方法
for (int i : numArray)
System.out.println("The number is: " + i);
您可以這樣:
int num[]=new int[4];
for(int i=0;i<4;i++){
num[i] = Integer.parseInt(JOptionPane.showInputDialog("Write a number."));
}
// Do something
也許你的意思是這樣的:
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() */
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.