Java Scanner类使用方法

1.Scanner 简介
Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。

2.Scanner 作用
就是可以从输入流中读取指定类型的数据或字符串(说的再简单点,就是可以获取到从控制台输入的数据)。

3.Scanner 需要掌握的函数

1.next(): 只读取输入到空格,就是它不能读空格,一读到空格就结束读取,即不能读到空格之后的东西。
import java.util.Scanner;
public class Test2 {
	public static void main(String[] agrs) {
 		 Scanner scanner = new Scanner(System.in);
 		 System.out.println("测试next()");
 		 String str = scanner.next();
 		 System.out.println("输出结果为:" + str);
  	}
}

在这里插入图片描述

2.nextLine(): 读取输入回车之前的所有字符。
import java.util.Scanner;
public class Test2 {
 	public static void main(String[] agrs) {
  		Scanner scanner = new Scanner(System.in);
  		System.out.println("测试nextLine()");
  		String str = scanner.nextLine();
  		System.out.println("输出结果为:" + str);
	 }
}

在这里插入图片描述

3. nextXxx(): 是用来读取不同类型数据。

   比如:nextInt() 用于读取整型的数据
   	nextDouble() 用于读取整型的数据
   	nextFloat() 、nextLong()等等都是如此。
   	
4. hasNextXxx(): 在输入的时候最好先使用此方法进行判断,再用nextXxx()来读取数据。

   比如:scanner.hasNextInt() 判断输入的是否是整数
	scanner.hasNextDouble() 判断输入的是否是小数
	其他类推。
import java.util.Scanner;
 
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 从键盘接收数据
        int i = 0;
        System.out.print("输入整数:");
        
        if (scanner.hasNextInt()) {
            // 判断输入的是否是整数
            i = scanner.nextInt();
            // 接收整数
            System.out.println("整数数据:" + i);
        } else {
            // 输入错误的信息
            System.out.println("输入的不是整数!");
        }
    }
}
5.end结束符,nextXxx() 是可以读取以回车为结束之前的内容,也可以是以end为结尾。
注意:nextLine() 没办法用end结束符。会默认为输入值读取。
import java.util.Scanner;
public class Test2 {
 	public static void main(String[] agrs) {
  		Scanner scanner = new Scanner(System.in);
  		double sum = 0, x;
 		int time = 0;
  		System.out.println("请输入一组数据: ");
  		//scanner.hasNextDouble()用于判断下一个是不是小数
  		while(scanner.hasNextDouble()) {
   			x = scanner.nextDouble();
   			sum += x;
   			time ++;
  		}
  		System.out.println(time + "个数据的和为" + sum);
  		System.out.println("平均值为:" + (sum/time));
 	}
}

在这里插入图片描述
在这里插入图片描述
注意: 为什么输入end呢,原本nextXxx() 是可以读取以回车为结束之前的内容,也可以是以end为结尾。但是在这里只能用end代表结束!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值