Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何以更“优雅”的方式重写这行代码?_Java_For Loop_Int - Fatal编程技术网

Java 如何以更“优雅”的方式重写这行代码?

Java 如何以更“优雅”的方式重写这行代码?,java,for-loop,int,Java,For Loop,Int,所以我有这几行代码,我试图找到一种更优雅的方式来编写它们: int randomHints1 = hintsRandom.nextInt(1200-100) + 100; int randomHints2 = hintsRandom.nextInt(1200-100) + 100; int randomHints3 = hintsRandom.nextInt(1200-100) + 100; int randomHints4

所以我有这几行代码,我试图找到一种更优雅的方式来编写它们:

         int randomHints1 = hintsRandom.nextInt(1200-100) + 100;
         int randomHints2 = hintsRandom.nextInt(1200-100) + 100;
         int randomHints3 = hintsRandom.nextInt(1200-100) + 100;
         int randomHints4 = hintsRandom.nextInt(1200-100) + 100;
         int randomHints5 = hintsRandom.nextInt(1200-100) + 100;
         int randomHints6 = hintsRandom.nextInt(1200-100) + 100;
         int randomHints7 = hintsRandom.nextInt(1200-100) + 100;
         int randomHints8 = hintsRandom.nextInt(1200-100) + 100;
         int randomHints9 = hintsRandom.nextInt(1200-100) + 100;
         int randomHints10 = hintsRandom.nextInt(1200-100) + 100;
我猜for-loop方法就是答案,但我找不到解决这个问题的方法。 谢谢大家

使用数组

int[] randomHints = new int[10];
for(int i=0;i<randomHints.length;i++)
    randomHints[i] = hintsRandom.nextInt(1100) + 100;
int[] randomHints = new int[10];
for (int i = 0; i < randomHints.length; i++) {
    randomHints[i] = hintsRandom.nextInt(1200 - 100) + 100;
}

如果使用数组,则会更加优雅:

int[] randomHints = new int[10];
...
for(int i = 0;i<randomHints.length;i++) {
    randomHints[i] = hintsRandom.nextInt(1200-100) + 100;
}

注:如果你需要一个动态的随机数,你可以使用arraylist,我的答案与其他答案基本相同,使用数组和迭代,但我使用Java8流将它写在一行中。我觉得它更优雅

int[] randomHints = new int[10];
Arrays.stream(randomHints).forEach(i -> randomHints[i] = hintsRandom.nextInt(1200 - 100) + 100);

这是一个很好的方法!
int[] randomHints = IntStream.generate(() -> 100 + hitsRandom.nextInt(1100)).limit(10).toArray();