13
流程控制1
用户交互Scanner
java.util.Scanner是Java 5的新特性,可以获取用户的输入。
基本语法
Scanner s = new Scanner(System.in);
在读取前一般需要使用hasNext()与hasNextLine()来判断是否还有输入的数据。
Scanner对象
ScannerNext
- 一定要读到有效字符才可以结束输入
- 对输入有效字符之前的空白,会去掉
- 对有效字符之后的空白作为分隔符或结束符
- next()不能得到有空格的字符串
public class Demo01 {
public static void main(String[] args) {
// 创建一个扫描器对象,接收输入
Scanner scanner = new Scanner(System.in);
System.out.println("使用Next方式接收:");
// 判断用户有没有输入字符串
if (scanner.hasNext()){
// 使用Next方式接收
String ab = scanner.next();
System.out.println("输入的内容为:"+ab);
}
scanner.close();
// 凡是属于IO流的用完后关掉,节省资源
}
}
ScannerNextLine
- Enter为结束符,也就是回车前所有字符串都是返回值
- 可以得到空白
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//从键盘接收数据
System.out.println("使用NextLine方式接收:");
//判断是否有输入
if (scanner.hasNextLine()){
String aa =scanner.nextLine();
System.out.println("输入的结果为"+aa);
}
scanner.close();
}
}
Scanner程序设计
import java.util.Scanner;
public class Demo05 {
// 设计一个程序,显示输入的数字个数,结束时计算总和以及平均数,输入一个非数字时结束
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double sum =0;
// 和
int m =0;
while (scanner.hasNextDouble()) {
double x =scanner.nextDouble();//用户的输入
sum=sum+x;//计算总和
m=m+1;//输入的数字个数
System.out.println("输入第"+m+"个数");
System.out.println("这个数是:"+x);
}
System.out.println("共输入了"+m+"个数字");
System.out.println("输入数字总和为:"+sum);
System.out.println("输入数字平均数为:"+(sum/m));
scanner.close();
}
}

浙公网安备 33010602011771号