我有一个包含5行和5列的2D数组,所有这些都填充了值0.如何让我的程序执行此操作:
输入行和列的任意随机组合,如2-5,不带[]括号。只需键入2-5就足以让我的程序理解我的意思是第2栏第5列
- 醇>
分配我在行列组合中输入到所述数组的值。
这是我到目前为止所得到的。如您所见,我只设法输出所有数组元素的值。
import java.util.*;
public class stink {
public static void main(String[]args){
int[][] kuk = new int[5][5];
printMatrix(kuk);
}
public static void printMatrix(int[][] matrix)
{
for (int row = 0; row < matrix.length; row++)
{
for (int col = 0; col < matrix[row].length; col++)
System.out.printf("%2d", matrix[row][col]);
System.out.println();
}
}
}
答案 0 :(得分:2)
您应该使用java API中的Scanner类来获取用户的输入,如下面的代码所示。 使用分隔符传递输入,就像你想让2X3数组传递像2-3一样,其中' - '是分隔符。 这里是String 和scanner java API的链接。
Scanner sc = new Scanner(System.in);
System.out.println("please enter two numbers");
String inputs = sc.next();
int a=Integer.valueOf(inputs.split("-")[0]);
int b=Integer.valueOf(inputs.split("-")[1]);;
System.out.println(a + " " + b);
int[][] x = new int[a][b];
System.out.println(x.length);
答案 1 :(得分:0)
这不是复制/粘贴就绪答案,但至少应该告诉您如何处理这个问题。
int rows = 0;
int columns = 0;
Scanner scan = new Scanner(System.in);
System.out.println("Rows: ");
rows = scan.nextInt();
System.out.println("Columns: ");
columns = scan.nextInt();
int[][] kuk = new int[rows][columns];