请大家,我还在学习Java,还不熟悉它的一些迭代技术。我想迭代遍历这个数组int [] lst = {34,23,7,14,10},这样它就必须在数组中的每个元素之间生成随机数。例如。它必须能够列出34和23,23和7,7和14以及14和10之间的随机值。 从昨晚到早上,我一直在为它工作,我需要帮助。我的可怕代码粘贴在下面。
public class ArrayRange {
public static void main(String[] args) {
Random rand = new Random();
int[] lst = {34, 23, 7, 14, 10};
for(int i = 0; i < lst.length; i++){
if ( i == 0){
int result = rand.nextInt(lst[i])+1;
System.out.println(result);
}
else {
int max = lst.length - 1;
System.out.println(rand.nextInt(max - lst[i])+ 1);
}
}
}
}
答案 0 :(得分:1)
试试这个:
public class ArrayRange {
public static void main(String[] args) {
Random rand = new Random();
int[] lst = {34, 23, 7, 14, 10};
for(int i = 0; i < lst.length-1; i++){
int val = rand.nextInt(Math.max(lst[i], lst[i+1]) - Math.min(lst[i], lst[i+1])) + Math.min(lst[i], lst[i+1]);
System.out.println("(" + lst[i] + ", " + lst[i+1] + "):" + val);
}
}
}