平时如果刷LeetCode刷的比较多,会忘记输入输出怎么写诶
在开学上机考试前特地花1个多小时整理了Java版的输入写法
一.输入一个数、两个数
//一.【一个数、两个数】
Scanner sc = new Scanner(System.in);
int m=sc.nextInt();
int n=sc.nextInt();
System.out.println("m: "+m);
System.out.println("n: "+n);
二.每次输入两个数,以EOF结束
//二.【两个数】 以EOF为结尾
//使用CTRL+Z退出
while(sc.hasNext()){
int a=sc.nextInt();
int b=sc.nextInt();
}
三.输入字符串
//三.【输入字符串】
String s1 = sc.next();
String s2 = sc.nextLine();
System.out.println("s1字符串长度"+s1.length());
System.out.println(s1);
System.out.println("s2字符串长度"+s2.length());
System.out.println(s2);
//【--特殊情况--】
//单行输入多个参数
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] s = str.trim().split(" ");
for(String tmp:s){
System.out.println(tmp);
}
四.输入一维数组
//四.【输入数组】
//4.1[一维数组] 长度是n
Scanner in = new Scanner(System.in);
int n=in.nextInt();
int[] arr = new int[n];
for(int i=0;i<n;i++){
arr[i]=in.nextInt();
}
for(int i=0;i<n;i++){
System.out.println(arr[i]);
}
/*---------输入长度m,n的两个数组---------------*/
int len1,len2;
Scanner sc = new Scanner(System.in);
len1=sc.nextInt();
len2=sc.nextInt();
int nums1[]=new int[len1];
int nums2[]=new int[len2];
for(int i=0;i<len1;i++){
nums1[i]=sc.nextInt();
}
for(int j=0;j<len2;j++){
nums2[j]=sc.nextInt();
}
五.输入二维数组
int类型二维数组
/*-----------输入二维int数组----------------*/
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int m=sc.nextInt();
//必须读取回车符 【很久之前的 吃掉回车符号】
//sc.nextLine();
//读入二维数组
int[][] map = new int[n][m];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
map[i][j]= sc.nextInt();
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
System.out.print(map[i][j]+" ");
}
System.out.println();
}
char类型二维数组
/*-----------输入二维char数组----------------*/
Scanner scan = new Scanner(System.in);
int n = scan.nextInt(); //n行
int m = scan.nextInt();//m列
String[] temp= new String[n+1]; //字符串数组做中间变量
for(int i = 0; i< n; i++) {
temp[i] = scan.next();
}
char[][] p = new char[n][m]; // temp字符串数组转为二维数组p[n][m];
for(int i = 0; i<n; i++) {
for(int j = 0; j< m; j++) {
p[i][j] = temp[i].charAt(j);
System.out.println(p[i][j]);
}
}