急求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,新手一个,可以的话希望能提供代码参考 展开
比如输入
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,新手一个,可以的话希望能提供代码参考 展开
展开全部
很好办呀。
用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();
}
用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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询