用户交互Scanner
用户交互Scanner
我们可以通过Scanner类来获取用户的输入。
-
next():
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next()不能得到带有空格的字符串。
-
nextLine():
- 以Enter为结束符,返回的是输入回车之前的所有字符。
- 可以有空白。
通过Scanner 类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
next()
package com.zhen.scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
if (scanner.hasNext()){
//使用next方式接收
String srt = scanner.next(); //程序会等待用户输入数据回车
System.out.println("输入的内容:"+ srt );
}
//方式属于IO流的类,如果不关闭会一直占用资源。
scanner.close();
}
}
nextLine()
package com.zhen.scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
//判断是否还有输入
//if (scanner.hasNextLine()==true)
if (scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输出为:"+ str);
}
scanner.close();
}
}
-
正常可不使用if
package com.zhen.scanner; import java.util.Scanner; public class Demo03 { 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(); } }
Scanner案例
package com.zhen.scanner;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = 0;
float b = 0.0f;
System.out.println("请输入整数:");
if (scanner.hasNextInt()){
a = scanner.nextInt();
System.out.println("你输入的整数是"+ a);
}else {
System.out.println("你输入的不是整数");
}
System.out.println("====================");
System.out.println("请输入小数数据");
if (scanner.hasNextFloat()){
b = scanner.nextFloat();
System.out.println("你输入的小数是" + b);
}else {
System.out.println("你输入的不是小数!");
}
scanner.close();
}
}
package com.zhen.scanner;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double sum = 0; //和
double b = 0; //平均数
int i = 0; //计算输入数字的个数
System.out.println("请输入数字:");
while (scanner.hasNextDouble()) {
sum = sum + scanner.nextDouble();
/*double x = scanner.nextDouble()
sum = sum + x
以上是教程使用方法
*/
i = ++i; //个数
//可用 i = i + 1
b = sum / i; //平均数
System.out.println(i +"个数总和=" + sum);
System.out.println(i +"个平均数=" + b);
}
System.out.println("你输入的不是整数!");
scanner.close();
}
}
浙公网安备 33010602011771号