我只是试图从动物阵列中打出特定范围。我尝试了3种不同的方式,(提示)我注释掉的代码。 print语句总是打印熊。我该如何解决这个问题?
String animal[][] = {
{"bear","lion","wolf","panther"},
{"alligator","komododragon","spyro the dragon","turtle"},
{"great white","clown fish","hammer head","Nessi"},
{"blue jay","red jay","eagle","crow"},
};
int x = (int) Math.random() * (2 - 0);
int y = (int) Math.random() * (4 - 0);
//String yourAniaml = animal[(int) Math.random() * (2-0) ][(int) Math.random() * (4-0)];
// System.out.println(animal[(int) Math.random() * (2-0) ][(int) Math.random() * (4-0)]);
System.out.println( animal[x][y] );
答案 0 :(得分:0)
您需要投射Math.random() * foo
的结果,而不仅仅是Math.random()
:
int x = (int) (Math.random() * (2 - 0));
int y = (int) (Math.random() * (4 - 0));
这是因为Math.random()
总是返回0≤x<0的范围内的数字。 1,因此(int) Math.random()
始终为0
,零次为零。
答案 1 :(得分:0)
假设0是你的x范围 和0,4是你的范围
int x = (int) (Math.random() * (2 - 0 + 1)) + 0;
int y = (int) (Math.random() * (4 - 0 + 1)) + 0;