1. JAVA输入需要用到Scanner类
导入类 import java.util.Scanner;
2. Scanner对象创建
Scanner sc = new Scanner(System.in);
构造方法的参数System.in表示允许用户从系统中读取内容
3. 常用方法
3.1 next()方法
next()方法的返回值是字符串类型
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一段内容,输入回车结束:");
String str = scanner.next();
System.out.println("您输入的内容为:" + str);
scanner.close();
}
}

next()类似方法
~ nextLine():返回输入回车之前的所有字符
~ nextInt():返回输入内容得到int型数据
next()方法与nextLine()方法的区别:
①next()方法只有扫描到有效字符后才会结束输入,而nextLine()方法可以直接使用回车结束输入;
②next()方法会自动去掉空白(例如回车、空格等),而nextLine()方法可以得到空白和带有空格的字符串。
3.2 hasNext()方法
hasNext()方法的返回值是一个布尔类型,如果输入中包含数据的输入,则返回true。否则返回false。通常用来做输入内容的验证。
4. 实例应用
4.1 输入多个数据,通过空格隔开,两个数据一组进行求和
import java.util.*;
public class Demo1{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
int a = in.nextInt();
int b = in.nextInt();
System.out.println(a+b);
}
}
}

4.2 输入要计算的数据行数,再针对每行数据进行求和
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要输入的行数:");
int numRows = scanner.nextInt();
scanner.nextLine(); // 消耗换行符
int sum = 0;
for (int i = 1; i <= numRows; i++) {
System.out.println("请输入第 " + i + " 行数据:");
String line = scanner.nextLine();
String[] numbers = line.split("\\s+");
int rowSum = 0;
for (String number : numbers) {
rowSum += Integer.parseInt(number);
}
System.out.println("第 " + i + " 行数据的和为:" + rowSum);
sum += rowSum;
}
System.out.println("所有行数据的总和为:" + sum);
scanner.close();
}
}

本文总结了JAVA在ACM模式下的输入输出操作,重点介绍了Scanner类的使用,包括next()、nextInt()、nextLine()和hasNext()方法的功能和区别,并提供了实例应用,如通过空格分隔输入数据进行求和,以及输入行数后逐行求和的操作。

2760

被折叠的 条评论
为什么被折叠?



