我尝试了一个程序,我在其中获取整数数组并随机化值。但我无法理解为什么,但我得到一个显示特殊字符和所有的疯狂输出。我的问题出了什么问题。这是我的代码:
import java.util.Random;
public class Q2d {
public static void shuffle(int[] arr) {
int n = arr.length;
Random random = new Random();
random.nextInt();
for (int i = 0; i < n; i++) {
int change = i + random.nextInt(n - i);
int temp = arr[i];
arr[i] = arr[change];
arr[change] = temp;
}
}
public static void main(String args[]) {
int[] arr = { 1, 2, 3, 4, 5, 6 };
shuffle(arr);
System.out.println(arr);
}
}
答案 0 :(得分:2)
您正在尝试打印数组对象。数组也是对象,但它们不会覆盖Object
's toString()
method,它负责“疯狂输出”。
System.out.println(Arrays.toString(arr));
答案 1 :(得分:0)
我很确定你在20分钟之前问过这个问题而不是
System.out.println(arr);
你有
for(int i:arr){
System.out.println(i);
}
这是正确的......