单行输入数组不限长度以及限制输入个数
import java.util.Scanner;
public class 输入一个数组 {
public static void main(String[] args) {
// 第一种方法:(不限制输入数组的长度)
System.out.println("请输入几个数并用逗号隔开:");
Scanner sc = new Scanner(System.in);
String str = sc.next().toString();
String[] arr = str.split(",");
int[] b = new int[arr.length];
for(int j = 0; j<b.length;j++) {
b[j] = Integer.parseInt(arr[j]);
System.out.println(b[j]+" ");
}
// 第二种方法:(限制输入的个数)
System.out.println("请输入三个数:");
Scanner in = new Scanner(System.in);
int[] b=new int[3];
for(int i=0;i<b.length;i++){
b[i]=in.nextInt();
}
//(顺便说明一下Scanner类中next()与nextLine()方法的区别:
//next()与nextLine()区别很明确,next() 方法遇见第一个有效字符
// (不是空格和换行符)时,开始扫描,当遇见第一个分隔符
//或结束符(空格或换行符)时,
//结束扫描,获取扫描到的内容,也就是说使用next()方法
//获得的是不含空格和换行符的单个字符串。
//而使用nextLine()时,则可以扫描到一行内
//容并作为一个字符串而被获取到。)
// ————————————————
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
ArrayList<ArrayList<Integer>> matrix = new ArrayList<>();
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
int row = 0;
int col = 0;
int res = 0;
int cnt = 0;
if(s.endsWith(",")) {
String numarray[] = s.trim().split(",|\\[|\\]");
col = numarray.length - 2;
ArrayList<Integer> vec = new ArrayList<>();
for(int i = 2; i < 2 + col; i++) {
vec.add(Integer.parseInt(numarray[i]));
}
matrix.add(vec);
} else if(s.endsWith("]]")) {//matrix 只有一行
String numarray[] = s.trim().split(",|\\[|\\]");
col = numarray.length;
for(int i = 0; i < col; i++) {
if(numarray[i].equals("0")) {
res = Math.max(res, cnt);
cnt = 0;
} else {
cnt++;
}
}
res = Math.max(res, cnt);
System.out.println(res);
return;
}
while(sc.hasNextLine()) {
s = sc.nextLine();
if(s.endsWith(",")) {
String numarray[] = s.trim().split(",|\\[|\\]");
ArrayList<Integer> vec = new ArrayList<>();
for(int i = 1; i < col + 1; i++) {
vec.add(Integer.parseInt(numarray[i]));
}
System.out.println(vec);
matrix.add(vec);
} else {//endwith "]]"
String numarray[] = s.trim().split(",|\\[|\\]");
ArrayList<Integer> vec = new ArrayList<>();
for(int i = 1; i < col + 1; i++) {
vec.add(Integer.parseInt(numarray[i]));
}
System.out.println(vec);
matrix.add(vec);
System.out.println("break");
break;
}
}
sc.close();
System.out.println("scclose");
row = matrix.size();
for(int i = 0; i < row; i++) {
for(int j = 0; j < col; j++) {
System.out.print(matrix.get(i).get(j) + " ");
}
System.out.println("");
}
int[] par = new int[row * col];
for(int i = 0; i < row; i++) {
for(int j = 0; j < col; j++) {
if(matrix.get(i).get(j) == 1) {
par[i * col + j] = -1;
}
System.out.print(par[i * col + j] + " ");
}
}
System.out.println("row = " + row + "col = " + col);
}
}