急求java如何输入一个m*n的2维数组

前提是不知道要输入的行数和列数,根据自己定义,想输入几行几列就输出几行几列,然后输出比如输入111111111111111和100001011等都可以正确输出,在一个ja... 前提是不知道要输入的行数和列数,根据自己定义,想输入几行几列就输出几行几列,然后输出
比如输入
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

1 0 0
0 0 1
0 1 1
等都可以正确输出,在一个java程序里,要如何做到
我刚刚才接触到java,新手一个,可以的话希望能提供代码参考
展开
 我来答
冰火两重天
推荐于2016-03-30 · TA获得超过1425个赞
知道小有建树答主
回答量:1489
采纳率:0%
帮助的人:991万
展开全部
很好办呀。
用BufferedReader一次读取一行,然后用String的split(" ");来得到你输入的每一维的长度(几列)。
总共的行数就是维数(几行)
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
int n = 0; // 确定每一维有多少个
int m = 0; // 确定维数
int[][] arr;
List list = new ArrayList();

try {
while ((str = br.readLine()) != null && !"".equals(str)) {
if (m == 0) {
n = str.trim().split(" ").length;
}
m++;
list.add(str.trim());
}
br.close();
arr = new int[m][n];
for (int i=0;i<list.size();i++) {
String s = (String) list.get(i);
if (!s.equals("")) {
// 每一维的数据
String[] strArr = s.split(" ");
for(int j=0;j<n;j++) { // 在上面已经确定了每一维有n个元素
arr[i][j] = Integer.parseInt(strArr[j]);
}
}
}

//输出数组元素
for (int i=0;i<m;i++) {
for(int j=0;j<n;j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-01-10
展开全部
小数是0.000154
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式