如何为多个整数制作1个for循环?

时间:2014-09-30 11:11:01

标签: java loops for-loop int

有没有办法只使用一个具有多个整数的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.");
      }
    }

5 个答案:

答案 0 :(得分:2)

num0, num1, num2, num3添加到Listarray,然后您可以使用单个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() */
相关问题