Scanner
其基本语法:Scanner s=new Scanner(System.in);
通过Scanner类的next() 与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
next():
1、一定要读取到有效字符后才可以结束输入;
2、对输入有效字符之前遇到的空白,next()方法会自动将其去掉
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
4、next()不能得到带有空格的字符串
nextLine():
1、以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
2、可以获得空白
下面用代码实现对 next() 和 nextLine() 的区别:
package main.com.han.scanner;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入您的内容:");
if (scanner.hasNextLine()){
String str=scanner.nextLine();
System.out.println("下一行的内容是:"+str);
}
scanner.close();
}
}
package main.com.han.scanner;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入您的内容:");
String str=scanner.nextLine();
System.out.println("您输入的内容是:"+str);
scanner.close();
}
}
package main.com.han.scanner;
import java.util.Scanner;
public class demo03 {
public static void main(String[] args) {
Scanner scanner= new Scanner(System.in);
System.out.println("Scanner输出的内容是:");
if (scanner.hasNext()){
String str=scanner.next();
System.out.println("Scanner的下一个内容是:"+str);
}else{
System.out.println("无内容输出");
}
scanner.close();
}
}
scanner的应用:输入一串数字并求和以及平均值
package main.com.han.scanner;
import java.util.Scanner;
public class Demo06EX {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入您的数据:");
//定义一个变量m来统计输入的数字个数
int m=0;
//使用double类型来计算总和
double sum=0;
//用while语句判断循环是否有输入,并计算输入的数字个数和总和
while(scanner.hasNextDouble()){
Double x=scanner.nextDouble();
m++; //也可以写成m=m+1
sum=sum+x;
}
System.out.println("您一共输入了:"+m+"个数字");
System.out.println("求得的总和是:"+sum);
System.out.println("求得的平均值是:"+sum/m);
scanner.close();
}
}

浙公网安备 33010602011771号