Scanner()类的简单用法
next() 的特点
-
一定要读取到有效字符才能结束输入
-
如果输入有效字符之前有空格,next() 方法会自动将其去掉
-
next() 方法得到有效字符之后遇到空格会将其作为分隔符或者结束符
-
next() 不能得到带有空格的字符串
package com.baike;
import java.util.Scanner;
public class Dome01 {
public static void main(String[] args) {
//创建一个扫描键盘对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
//提示输入内容
System.out.println("请输入内容:");
//如果有数据输入
if(scanner.hasNext()){
//那么就用next()方式接收
String str = scanner.next();
System.out.println("输出的内容为:"+str);
}
scanner.close();//凡是属于IO流的类,使用完一定记得关闭,不然会浪费硬件资源
}
}
请输入内容:
Hello World!
输出的内容为:Hello //遇到空白即结束程序,World!被省略;
nextLine() 的特点
-
以Enter作为结束符,nextLine() 方法返回的是输入Enter之前的全部字符
-
可以获得空白
package com.baike;
import java.util.Scanner;
public class Dome02 {
public static void main(String[] args) {
//创建一个扫描键盘对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
//提示输入内容
System.out.println("请输入内容:");
//如果有数据输入
if(scanner.hasNextLine()){
//那么就用next()方式接收
String str = scanner.nextLine();
System.out.println("输出的内容为:"+str);
}
scanner.close();//凡是属于IO流的类,使用完一定记得关闭,不然会浪费硬件资源
}
}
请输入内容:
Hello World!
输出的内容为:Hello
拓展
整数、小数接收与判断
package com.baike;
import java.util.Scanner;
public class Dome03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i;
float f;
System.out.println("请输入一个整数");
if(scanner.hasNextInt()){
i = scanner.nextInt();
System.out.println("是整数"+i);
}
else{
System.out.println("输入不是整数!");
}
System.out.println("请输入一个小数");
if(scanner.hasNextFloat()){
f = scanner.nextFloat();
System.out.println("输入是小数"+f);
}
else{
System.out.println("输入不是小数");
}
scanner.close();
}
}
//输出结果(1)
请输入一个整数
10
是整数10
请输入一个小数
10.1
输入是小数10.1
//输出结果(2)
请输入一个整数
10.5
输入不是整数!
请输入一个小数
写一个求和及求平均数的程序
package com.baike;
import java.util.Scanner;
public class Dome04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double sum = 0;
int i= 0;
System.out.println("请输入数字:");
while(scanner.hasNextDouble()){
double num = scanner.nextDouble();
//统计输入个数
i++;
//求和
sum = sum+num;
}
System.out.println("输入数字个数为:"+i);
System.out.println("输入数字的和为:"+sum);
System.out.println("平均数为:"+(sum/i));
scanner.close();
}
}
请输入数字:
10
20
30
40
x
输入数字个数为:4
输入数字的和为:100.0
平均数为:25.0

浙公网安备 33010602011771号