给出一个数字,找到其他数字

时间:2016-05-11 14:42:39

标签: java loops

我想创建1到5(含)范围内的其余整数变量,因为我已经有1到5(含)之间的数字。 到目前为止,我只是使用if语句来查找数字,但是它非常冗长,我认为可以使用循环。我无法弄清楚如何做到这一点所以我需要一些帮助 这是我的if语句代码:

    int choice1=0; //This can be any number between 1 and 5 inclusive.
    int temp01 = 0, temp02 = 0, temp03 = 0, temp04 = 0;
    if(choice1 == 0){
        temp01 = 1;
        temp02 = 2; 
        temp03 = 3; 
        temp04 = 4;
    }
    if(choice1 == 1){
        temp01 = 0;
        temp02 = 2; 
        temp03 = 3; 
        temp04 = 4;
    }
    if(choice1 == 2){
        temp01 = 0;
        temp02 = 1; 
        temp03 = 3; 
        temp04 = 4;
    }
    if(choice1 == 3){
        temp01 = 0;
        temp02 = 1; 
        temp03 = 2; 
        temp04 = 4;
    }
    if(choice1 == 4){
        temp01 = 0; 
        temp02 = 1; 
        temp03 = 2; 
        temp04 = 3;
    }

4 个答案:

答案 0 :(得分:0)

这些步骤可能会帮助您使用数组

编写代码
  1. 选择一个数字
  2. 创建一个包含4个元素的数组
  3. 创建一个for / while循环,它将迭代1到5
  4. 循环比较,如果输入的数字等于循环索引/计数器变量
  5. 如果相等则跳过数字,否则将其添加到数组并增加数组计数器
  6. 增量循环计数器
  7. 打印阵列
  8. 一些很好的教程参考创建循环

    Loop Control on Tutorials Point

    Nuts and Bolts - For Loop

答案 1 :(得分:0)

我会这样做:

int choice1 = 0;
int temp[] = new int[4];
for (int i = 0; i < temp.length; i++) {
    if (i < choice1) {
        temp[i] = i;
    } else {
        temp[i] = i + 1;
    }
}

答案 2 :(得分:0)

我的答案与Sanjeev所说的相似,但我的方法是:

  1. 选择一个号码,
  2. 创建一个包含4个元素的int数组。
  3. 将通过0-4的for循环。
  4. 检查每次迭代当前号码是否为预选号码。如果是这样,什么也不做。否则,将数组中的下一个未设置数设置为当前数。
  5. 以下示例:

    int numbers[] = new int[4];
    int counter = 0;
    int preselected = 0; //this would be set to anything from 0-4
    for(int i = 0; i < 5; i++){
      if(i != preselected){
        numbers[counter] = i;
        counter++;
      }
    }
    

    祝你好运,编码愉快!

答案 3 :(得分:0)

int[] temp = new int[4]; //Here create an array of 4 integers
int choice1 = x; // x must be between 0 and 4 included
int j = 0;
for(int i = 0; i <= 4; i++){
    if(!(choice1 == i)){ 
       temp[j] == i;
       j++;
    } else if(choice1 != 4){
           temp[j] = i+1;
           i++;
           j++;
        } else {
            temp[j-1] = choice1-1;
        }
    }
}

这应该有效,如果选择不同!(choice1 == i)你在位置j中指定i的值,如果它相等,你想要跳过该值,所以你将下一个值赋给temp [ j]然后你继续循环 如果选择为4,您将获得IndexOutOfBoundsException,因此在最后一种情况下,您将前一个数字的值分配给数组的最后一个元素