尝试在列主窗体java中填充2D数组时线程主错误中出现异常

尝试在列主窗体java中填充2D数组时线程主错误中出现异常,java,arrays,input,multidimensional-array,Java,Arrays,Input,Multidimensional Array,代码: 我觉得我很接近,但我一直在犯错。在列主窗体中填充一个数组是主要的处理方法,因此get scores方法和底部声明的数组是我认为我的问题所在,请帮助我使用getScores方法,带r的内部for循环1缺少大括号,正确的代码应该是一些东西,如果我正确得到了您想要做的事情 import java.util.*; public class lab3 { public static void getScores(int[][] matrix) { Scanner kb

代码:

我觉得我很接近,但我一直在犯错。在列主窗体中填充一个数组是主要的处理方法,因此get scores方法和底部声明的数组是我认为我的问题所在,请帮助我使用getScores方法,带r的内部for循环1缺少大括号,正确的代码应该是一些东西,如果我正确得到了您想要做的事情

import java.util.*;

public class lab3  {
    public static void getScores(int[][] matrix) { 
        Scanner kb = new Scanner(System.in);
        int r, c;
        for (c = 0; c < matrix[0].length; c++){
           for (r = 0; r < matrix.length; r++) 
               System.out.println("enter scores for test "+(c+1)+ " and student "+(r+1));
            matrix[r][c] = kb.nextInt(); 
        } 
        kb.close();
    }
    public static void printArray(int[][] matrix) { 
        for (int c = 0; c < matrix[0].length; c++)
            for (int r = 0; r < matrix.length; r++){ 
                System.out.printf("%5d", matrix[r][c]); 
                System.out.println(); 
            } 
        }
    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        System.out.println("how many students are there?");
        int students=kb.nextInt();
        System.out.println("How many tests are there?");
        int tests=kb.nextInt();
        int [][] grades= new int [students][tests+1];

        getScores(grades); 
        printArray(grades);
而且,当您指定要获取什么异常以及在哪一行时,最好回答您的查询,这样so中的用户就不必实际执行您的代码来查看您面临的问题


希望这有帮助

哈哈,我喜欢这篇文章,而且从我的视力来看,这篇文章真是太差了。谢谢你,很抱歉让你做了额外的工作。我一定要写下,下次这是我的第一篇文章,我甚至没想到会有人回复。再次感谢!!请正确格式化您的代码。为了您自己的利益,为了那些帮助您解决堆栈溢出问题的人的利益,也为了将来阅读您的代码的其他人的利益。
   for (r = 0; r < matrix.length; r++) {
    System.out.println("enter scores for test "+(c+1)+ " and student "+(r+1));
    matrix[r][c] = kb.nextInt();
   }
int [][] grades= new int [students][tests+1];