必须要有的三个语句
package com.bk201.scanner;
import java.util.Scanner; //表示引用Scanner类,获取用户的输入
public class Demo01 {
public static void main(String[] args) {
//创造一个扫描器对象,用于接受键盘数据
Scanner scanner = new Scanner(System.in);//new Scanner(System.in)
System.out.println("使用next方式接受:");
//判断用户有没有输入字符串
if(scanner.hasNext()){
//使用next方式接受
String str = scanner.next();//等待用户输入
System.out.println("输入的内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,一定要在用完后关闭
scanner.close();
}
}
输出结果,等待用户输入字符,再进行下一步
输入Hello World(中间有空格),回车输出,可以发现只输出了一个Hello,这是因为next方法无法输出带有空格的字符串。这时就需要换成nextline方法。
package com.bk201.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()){
String str = scanner.nextLine();
System.out.println("输入的内容为:"+str);
}
scanner.close();
}
}
输出结果,等待用户输入字符,再进行下一步
输入Hello World(中间有空格),回车输出,可以发现输出了完整的Hello World
package com.bk201.scanner;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接受:");
String str = scanner.nextLine();
System.out.println("输入的内容为:"+str);
scanner.close();
}
}
依旧可以运行
package com.bk201.scanner;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i = 0;
float f = 0.0f;
//判断整数
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();
}
}
小数和整数基本一致,只是把 i 变成 f ,把Int变成Float。
输入正确数字时,输出结果为:
输入错误数字时,输出结果为:
package com.bk201.scanner;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//我们可以输入多个数字,求其和于平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出结果
//总和
double sum = 0.0;
//计算输入多少个字
int d = 0;
//通过循环判断是否还有输入,并在里面对每一次进行求和于统计
while(scanner.hasNextDouble()){
double v = scanner.nextDouble();
d=d+1;
sum=sum+v;
System.out.println("你输入的数字是:"+v+"总和为:"+sum);
}//这个括号的位置很关键,一定不要包含输出语句
System.out.println("总和:"+sum);
System.out.println("平均数:"+sum/d);
scanner.close();
}
}
输出结果
如果输出语句在While的语句括号内,那么输出结果会是以下结果,每输入一个数就会输出一次总和于平均数。
原文:https://www.cnblogs.com/zsbk201/p/14488114.html