在线笔试输入输出处理

1、简单字符串及数组输入

1、输入字符串

1
2
3
4
5
6
7
8
9
10
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
//next()方法在读取内容时,会过滤掉有效字符前面的无效字符,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其过滤掉;只有在读取到有效字符之后,next()方法才将其后的空格键、Tab键或Enter键等视为结束符;所以next()方法不能得到带空格的字符串。
String str=in.next();
// nextLine()方法字面上有扫描一整行的意思,它的结束符只能是Enter键,即nextLine()方法返回的是Enter键之前没有被读取的所有字符,它是可以得到带空格的字符串的。
String str1=in.nextLine();
}
}

2、输入一维和二维数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
//输入一维数组
int n=in.nextInt();
int[] onearray=new int[n];
for(int i=0;i<n;i++){
onearray[i]=in.nextInt();
}
//输入二维数组
int m=in.nextInt();
int n=in.nextInt();
int[][] grid=new int[m][n];
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
grid[i][j]=in.nextInt();
}
}
}
}

多行输入输出处理

1、数字多行输入输出

输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。输出为a+b的结果

示例:

输入:

1 5
10 20

输出:

6
30

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import java.util.Scanner;

public class SomeInput {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
//1.多行输入a,b,求和。
while (in.hasNextLine()){
String[] row=in.nextLine().split(" ");
for(int i=0;i<row.length;i++){
System.out.println(Integer.parseInt(row[i]));
}
}
//2.已知行数,对每行a,b求和。
int rowNum=in.nextInt();
for(int i=0;i<rowNum;i++){
int a=in.nextInt();
int b=in.nextInt();
System.out.println(a+b);
}
//3.对每行输入a,b求和,当遇到0,0行结束输入。
while (in.hasNextLine()){
String[] row=in.nextLine().split(" ");
if(row[0].equals("0")&&row[1].equals("0")){
break;
}else {
System.out.println(Integer.parseInt(row[0])+Integer.parseInt(row[1]));
}
}
//4.对每行输入数据求和,当某行为0结束输入。
while(in.hasNextLine()){
String s = in.nextLine();
if(s.equals("0")){
break;
}
String[] arr = s.split(" ");
int len = Integer.parseInt(arr[0]);
int sum=0;
for(int i=1;i<len+1;i++){
sum += Integer.parseInt(arr[i]);
}
System.out.println(sum);
}
// Integer.parseInt()和Integer.valueOf()都可以返回int值,但parseInt()返回的是基本类型int,而valueOf()返回的是包装类Integer。
}
}

2、字符串多行输入输出

对于每组用例输出一行排序后的字符串,用’,'隔开,无结尾空格

示例:

输入

a,c,bb
f,dddd
nowcoder

输出:

a,bb,c
dddd,f
nowcoder

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
while(in.hasNextLine()){
String[] str=in.nextLine().split(",");
Arrays.sort(str);
for(int i=0;i<str.length;i++){
if(i!=str.length-1){
System.out.print(str[i]+",");
}else{
System.out.print(str[i]);
}
}
System.out.println();
}
}
}