java用户交互Scanner
1、首先创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in); System.out.println("使用next方法接受:");
2、判断用户有没有输入字符串
if (scanner.hasNext()){ //使用next()方式接收 String str = scanner.next(); System.out.println("输出的内容为:"+str); }
或者使用hasNextLine()
if (scanner.hasNextLine()){
//使用nextLine()方法接收 String str = scanner.nextLine(); System.out.println("输出的内容为:"+str); }
3、关闭
凡是属于IO流的类如果不关闭会一直占用资源
scanner.close();
必须要关闭不然会报错!
例子1:
1 public class Demo3 { 2 public static void main(String[] args) { 3 Scanner scanner = new Scanner(System.in); 4 int i = 0; 5 float f = 0.0f; 6 7 System.out.println("请输入整数:"); 8 if (scanner.hasNextInt()) { 9 i = scanner.nextInt(); 10 System.out.println("整数为:" + i); 11 } else { 12 System.out.println("你输入的不是整数!"); 13 } 14 15 System.out.println("请输入小数:"); 16 if (scanner.hasNextFloat()) { 17 f = scanner.nextFloat(); 18 System.out.println("小数为:" + f); 19 20 } else { 21 System.out.println("你输入的不是小数!"); 22 } 23 24 scanner.close(); 25 } 26 }
例子2:
public class Demo4 { public static void main(String[] args) { //我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束 Scanner scanner= new Scanner(System.in); //和 double sum = 0; //数字的总和 int m = 0; System.out.println("输入数字:"); //通过循环判断是否还有输入,并在里面对每一次的求和和统计 while (scanner.hasNextDouble()){ double x =scanner.nextDouble(); m = m+1; sum = sum+x; System.out.println("你输入的第"+m+"它的和是:"+sum); } System.out.println("输入的数字有:"+m); System.out.println("所有数字的总和为:"+sum); System.out.println("所有数字的平均数为:"+(sum / m)); scanner.close(); } }

浙公网安备 33010602011771号