Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
使用For语句分配矩阵值-Java_Java_Arrays_Matrix_Multidimensional Array - Fatal编程技术网

使用For语句分配矩阵值-Java

使用For语句分配矩阵值-Java,java,arrays,matrix,multidimensional-array,Java,Arrays,Matrix,Multidimensional Array,我在HackerRank上工作,这是一个允许学生上传家庭作业代码的平台,然后该平台对我们的代码运行一些随机测试。借此机会,我的老师让我根据HackerRank的输入创建一个矩阵,然后用这个平台的更多输入填充它 我创建这段代码是为了创建一个矩阵,其中包含HackerRank想要的维度,并用平台生成的值重新填充它,但我的代码中似乎有一个错误,我没有看到它 它给了我这个错误: Exception in thread "main" java.util.NoSuchElementExc

我在HackerRank上工作,这是一个允许学生上传家庭作业代码的平台,然后该平台对我们的代码运行一些随机测试。借此机会,我的老师让我根据HackerRank的输入创建一个矩阵,然后用这个平台的更多输入填充它

我创建这段代码是为了创建一个矩阵,其中包含HackerRank想要的维度,并用平台生成的值重新填充它,但我的代码中似乎有一个错误,我没有看到它

它给了我这个错误:

Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:862)
    at java.util.Scanner.next(Scanner.java:1485)
    at java.util.Scanner.nextInt(Scanner.java:2117)
    at java.util.Scanner.nextInt(Scanner.java:2076)
    at Solution.main(Solution.java:14)
我的代码:

public class Solution {

public static void main(String[] args) {
    
    Scanner prompt = new Scanner(System.in);
    int[][] array = new int [prompt.nextInt()+1][prompt.nextInt()];
    
    // Create matrix
    for (int a = 0; a < array.length; a++){
        for (int b = 0; b < array[a].length; b++){
           array[a][b] = prompt.nextInt();          /*This is the line 14*/
        }
    }
    
    for (int h=0; h < array.length; h++){ 
        for(int c=0; c < array[h].length; c++){ 
            System.out.printf("%5d",array[h][c]);
        }
        System.out.println("");
    } } }
公共类解决方案{
公共静态void main(字符串[]args){
扫描仪提示=新扫描仪(System.in);
int[][]数组=新int[prompt.nextInt()+1][prompt.nextInt()];
//创建矩阵
for(int a=0;a
在这种情况下,NoTouchElementException
表示没有更多要读取的令牌。您是否提供了足够的输入值

请参阅:

当扫描仪抛出NoTouchElementException时,表示您正在尝试从扫描仪读取数据,而此时您已经到达输入的末尾

尝试在for循环中的nextInt之前使用hasNextInt