如何修复我的程序,使其能够处理用户要求的任意数量的行和列? 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;row
public 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();
}