簡體   English   中英

如何為多個整數創建1個for循環?

[英]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添加到Listarray ,然后可以使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM