由于牛客和LeetCode上的题目不用自己写输入,但实际笔试中都需要从输入开始写,遇到需要从控制台输入二维数组的情况,故对java中的Scanner类作整理和总结。
通过 Scanner 类能获取用户的输入。
Scanner 类的 next() 方法:
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next() 不能得到带有空格的字符串。
Scanner 类的 nextLine() 方法:
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。(因此可以被用来跳过回车符号)
2、可以获得空白。
import java.util.Scanner;
import java.util.Stack;
public class solution{
public static void main(String[] args){
System.out.println("二维数组的列数:");
Scanner scan=new Scanner(System.in);
int r=scan.nextInt();
int c=scan.nextInt();
int[][]matrix=new int[r][c];
scan.nextLine();//用来跳过行列后的回车符
for(int i=0;i
输入:
4 5
1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0
输出:
1,0,1,0,0,
1,0,1,1,1,
1,1,1,1,1,
1,0,0,1,0,
Scanner 类的 nextInt() 方法:
1.返回值是int类型的,以有效数字后的空格作为两个输入的数据的间隔
2.next() 和nextLine()返回类型都是String
Scanner 类的nextFloat()方法:返回值是float类型的,以有效数字后的空格作为两个输入的数据的间隔