如何修复我的程序,使其能够处理用户要求的任意数量的行和列? import java.util.Scanner; 公共类Hi{ 公共静态void main(字符串[]args){ //供你测试 //int[]testArray={{1,2,3},{4,5,6},{7,8,9}; int[][]测试阵列={ {randomNumber(),randomNumber(),randomNumber()}, {randomNumber(),randomNumber(),randomNumber()}, {randomNumber(),randomNumber(),randomNumber()}; // //显示数组 打印阵列(testArray); }//末端总管 //显示表格 私有静态void打印数组(int[][]数组){ 扫描仪sc=新的扫描仪(System.in); //询问用户 System.out.println(“多少行:”); int rows=sc.nextInt(); System.out.println(“多少列:”); int columns=sc.nextInt(); for(int row=0;row

如何修复我的程序,使其能够处理用户要求的任意数量的行和列? import java.util.Scanner; 公共类Hi{ 公共静态void main(字符串[]args){ //供你测试 //int[]testArray={{1,2,3},{4,5,6},{7,8,9}; int[][]测试阵列={ {randomNumber(),randomNumber(),randomNumber()}, {randomNumber(),randomNumber(),randomNumber()}, {randomNumber(),randomNumber(),randomNumber()}; // //显示数组 打印阵列(testArray); }//末端总管 //显示表格 私有静态void打印数组(int[][]数组){ 扫描仪sc=新的扫描仪(System.in); //询问用户 System.out.println(“多少行:”); int rows=sc.nextInt(); System.out.println(“多少列:”); int columns=sc.nextInt(); for(int row=0;row,java,Java,目前我的程序只处理三行三列。我如何才能使其与用户插入的任何行和列一起工作?。然后我的方法可以处理用户插入的任何内容 import java.util.Scanner; public class Hi { public static void main(String[] args) { // For you to test //int[][] testArray = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

目前我的程序只处理三行三列。我如何才能使其与用户插入的任何行和列一起工作?。然后我的方法可以处理用户插入的任何内容

import java.util.Scanner;

public class Hi {

    public static void main(String[] args) {

        // For you to test
        //int[][] testArray = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

        int[][] testArray = {
        { randomNumber(), randomNumber(), randomNumber() },
        { randomNumber(), randomNumber(), randomNumber() },
        { randomNumber(), randomNumber(), randomNumber() } };
        //
        // TO DISPLAY ARRAY
        printArray(testArray);


    } // end main

    // TO DISPLAY TABLES
    private static void printArray(int[][] array) {

        Scanner sc = new Scanner(System.in);
        //Ask the user
        System.out.println("How many rows: ");
        int rows= sc.nextInt();

        System.out.println("How many columns: ");
        int columns= sc.nextInt();

        for (int row = 0; row < array.length; rows++) {
            for (int col = 0; col < array[rows].length; col++) {
                System.out.print(array[rows][columns] + " ");
            }
            System.out.println();
        }
    }



    private static int randomNumber() {
        int random = (int) (Math.random() * 9);
        return random;
    }

}
您也可以使用扫描仪进行用户输入。如果您正在学习java,那么使用Scanner可能更容易。如果您想要或需要使用BufferedReader,但不了解“抛出IOException”的作用,请参阅以下链接:

如果您急于实现这段代码,只需在使用.readLine()的每个方法上添加“throws IOException”,并在以后读取异常


我更喜欢使用BufferedReader,因为根据我的经验,如果在循环中使用它,扫描器会变得疯狂。

要使用用户输入的大小,可以执行与在
printArray()
中相同的操作,然后使用这些大小创建数组:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ClassName {
    public static void main(String[] args) throws IOException{
        BufferedReader reader = new BufferedReader( new InputStreamReader(System.in));

        int a = Integer.parseInt(reader.readLine());
        int b = Integer.parseInt(reader.readLine());

        //testArray will be axb dimensions.. depending on what user inputed
        int[][] testArray = new int[a][b];
    }
}

询问行和列的数量,并根据需要使用for循环来迭代这些值。我不认为您试图实现的目标非常清楚;我们必须阅读大量代码才能了解您正在做什么。请阅读好,我留下了我需要帮助的部分。如果用户放入5行和5列,程序应显示一个5列和5行的数组,我需要使用scannerkk用scannerkk替换缓冲区。我如何才能放入随机数,而不是将其显示为零?@outlyer如何将其返回到主方法?私有静态int平均值(int[][]数组){for(int row=0;rowpublic static void main(String[] args) { Scanner sc = new Scanner(System.in); // Ask array size to the user System.out.println("How many rows: "); int rows= sc.nextInt(); System.out.println("How many columns: "); int columns= sc.nextInt(); // Fill array with random numbers int[][] testArray = new int[rows][columns]; for (int i=0; i<testArray.length; ++i) { for (int j=0; j<testArray[i].length; ++j) { testArray[i][j] = randomNumber(); } } // TO DISPLAY ARRAY printArray(testArray); } // end main
    for (int row = 0; row < array.length; rows++) {
        for (int col = 0; col < array[rows].length; col++) {
            System.out.print(array[rows][columns] + " ");
        }
        System.out.println();
    }
    for (int row = 0; row < columns; row++) {
        for (int col = 0; col < rows; col++) {
            System.out.print(array[row][col] + " ");
        }
        System.out.println();
    }