Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中用math.random或null填充2d矩阵?_Java_Arrays_Matrix_Multidimensional Array_Random - Fatal编程技术网

如何在Java中用math.random或null填充2d矩阵?

如何在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) {

我想用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)
    {
        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);