1.java.util.Scanner包
- nextInt():直至读取到空格或回车之后结束本次的int值;
- next():直至读取到空格或回车之后结束本次的String值,不可读取回车;
- nextLine():直至读取到换行符(回车)之后结束本次读取的String,可读取回车(空值)
1.1 读取连续整数(两个整数a和b)
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
while(in.hasNext()){
int a=in.nextInt();
int b=in.nextInt();
System.out.println(a+b);
}
}
}
1.2 每行读取空格隔开的整数
import java.util.Scanner;
import java.lang.String;
import java.lang.Integer;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
while(in.hasNext()){
String[] temp=in.nextLine().split(" ");
int sum=0;
for(String s:temp)
sum+=Integer.valueOf(s);
System.out.println(sum);
}
}
}
1.3 读取多行输入
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int full = sc.nextInt();
int avg = sc.nextInt();
sc.nextLine();
int[][] nums = new int[n][2];
for (int i = 0; i < n; i++) {
nums[i][0] = sc.nextInt();
nums[i][1] = sc.nextInt();
}
}
}
1.4 输入一个链表(以反转链表为例)
import java.util.Scanner;
import java.util.Stack;
public class LinkListInput {
static class LinkNode {
int val;
LinkNode next;
public LinkNode(int val){
this.val = val;
}
}
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
String str = scanner.next().toString();
String[] arr = str.split(",");
int[] ints = new int[arr.length];
for(int j = 0; j<ints.length;j++) {
ints[j] = Integer.