让我说我得到了这个:
int b[][];
b = new int[4][4];
for (int i = 0; i < b.length; i++) {
for (int j = 0; j < b[i].length; j++) {
b[i][j] = (Math.random() * 10);
}
}
我想要打印[i][j]
值< 5
,我该怎么做?
答案 0 :(得分:1)
您应该将值转换为int
,因为Math.random()
会返回double
而不是int
,您必须使用if来检查您的值是否为是< 5
,您可以使用此,:
...
for (int j = 0; j < b[i].length; j++) {
b[i][j] = (int) (Math.random() * 10);
if(b[i][j] < 5){
System.out.println(b[i][j]);
}
}
...
或者您可以使用:
if ((b[i][j] = (int) (Math.random() * 10)) < 5) {...}
//--^--Initialization and test in one shot-^---------
答案 1 :(得分:0)
你知道for循环但不知道if语句是不是很奇怪。
但仍然是为了你的知识 你可以试试这样的东西
public class SomeClass{
public static void main(String[] args){
Double b[][] = new Double [4][4];
for(int i=0; i<b.length; i++ ){
for(int j=0;j<b[i].length;j++){
b[i][j]=(Math.random()*10);
if(b[i][j] < 5){
System.out.println("\n[i][j] = "+"["+i+"]["+j+"]\t result = "+b[i][j]);
}
}
}
}
}
答案 2 :(得分:-1)
您已经知道如何迭代2D数组。只需在内部循环中添加if
子句,并使用索引print
和i
j