如何在Java中用math.random或null填充2d矩阵?
我想用null或随机数(0..50)填充矩阵。 如果“random”为true(它可以是布尔值true或false,或者int 0或1不重要),那么它将用随机数填充矩阵,最多为50,否则,它将用null填充如何在Java中用math.random或null填充2d矩阵?,java,arrays,matrix,multidimensional-array,random,Java,Arrays,Matrix,Multidimensional Array,Random,我想用null或随机数(0..50)填充矩阵。 如果“random”为true(它可以是布尔值true或false,或者int 0或1不重要),那么它将用随机数填充矩阵,最多为50,否则,它将用null填充 public class array { protected int N; protected int M; protected int [][] matrix; array(int n, int m, boolean random) {
public class array
{
protected int N;
protected int M;
protected int [][] matrix;
array(int n, int m, boolean random)
{
N=n;
M=m;
matrix=new int[n][m];
if (random==true)
{
for(int i=0;i<N;i++)
for(int j=0;j<M;j++)
matrix[i][j]=null;
}
else
{
for(int i=0;i<N;i++)
for(int j=0;j<M;j++)
{
matrix[i][j]=(int)(Math.random()*50);
}
}
}
公共类数组
{
受保护的int N;
受保护的int-M;
受保护的int[][]矩阵;
数组(整数n,整数m,布尔随机)
{
N=N;
M=M;
矩阵=新整数[n][m];
如果(随机==真)
{
对于(int i=0;i当编译器在代码中发现不合适的语句时,表达式的非法开始错误
是一个编译时错误。Java编译器,javac
从上到下、从左到右编译源代码,当它在表达式的开头看到不合适的内容时,它抛出“表达式的非法开始”错误。
它通常是由于)
或{
而发生的。为此,最好使用IDE
阅读更多:
正如你帖子上的评论所提到的,如果(矩阵[i][j])!=null,行中有一个额外的)
对于第二个问题,请尝试
Integer[][] matrix = null;
int[][] array = MoreObjects.firstNonNull(matrix, 0);
如果(矩阵[i][j])!=null,您在行中有一个额外的)
。
…谢谢。我在代码中进行了编辑。但是,现在我得到了一个不兼容的类型,无法转换为不能转换为int,在矩阵[i][j]=null;
Integer[][] matrix = null;
int[][] array = MoreObjects.firstNonNull(matrix, 0);