我的代码是否创建了一个增加整数值正确的数组?

时间:2013-10-08 05:11:14

标签: java

我想确保为这个问题编写正确的程序。问题是

  

编写将创建大小为n的int数组的代码,并使用值1到n填充数组。请注意,这与数组索引不同,后者从0n-1

这是我写的代码:这是正确的吗?

public class shaky{
   public static void main(String args[]){
        int i;
        int j;
        int n = 10;
        int[] value = new int[n];

        for(i=0,j=1; i <= (n-1); i++,j++){
            value[i] = j;
            System.out.print(value[i]);
        }
  }  
}

5 个答案:

答案 0 :(得分:4)

是的,这看起来是正确的,但有两件事。 (1)只需i(不需要j)即可完成此操作。

public class shaky
{
   public static void main(String args[])
   {

   int i;
   int n = 10;
   int[] value = new int[n];

         for(i=0; i<n; i++)
         {
          value[i] = i+1;
          System.out.print(value[i]);
         }
  }  
}

(2)这些类型的问题应张贴在code review site

答案 1 :(得分:4)

您可以使用Java 8的流。

import java.util.Arrays;
import java.util.stream.IntStream;

public class Test {
  public static void main(String[] args) {
    int n = 5;
    int[] a = IntStream.range(1, n+1).toArray();
    System.out.println(Arrays.toString(a));
  }
}

答案 2 :(得分:2)

是的,这是正确的,在for循环中而不是写i<n,你也可以写

i<value.length

              for(i=0; i<value.length; i++)

答案 3 :(得分:2)

int[] arr = new int[10];

         for(i=0; i<n; i++)
         {

            arr[i] = i+1;

         }
  }  

答案 4 :(得分:1)

是的,它是正确的,但可以更简单:

public class shaky{
    /**
       More correct to use this way, because possible
       to reuse this code and to have more clean code in main part.
     */
    public static int [] initialize(int length){
        int [] result = new int [length];
        for (int i=0; i<length; i++) result[i] = i+1;
        return result;
    }
    public static void main(String args[]){
        for (int value: initialize(10)) System.out.print(value+" ");
    }  
}

测试它: 1 2 3 4 5 6 7 8 9 10