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