java中控制台输入二维数组(Scanner类总结)
由于牛客和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<r;i++){ for(int j=0;j<c;j++){ matrix[i][j]=scan.nextInt(); System.out.print(matrix[i][j]+","); } System.out.println(""); } } }
输入:
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类型的,以有效数字后的空格作为两个输入的数据的间隔
上一篇:
IDEA上Java项目控制台中文乱码