Scanner()的使用及空格与Enter键在结束输入时的不同

next():

  1. 一定要读取到有效字符后才可以结束输入
  2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
  4. next()不能得到带有空格的字符串

nextLine():

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
  2. 可以获得空白

实战代码

import java.util.Scanner;

public class ScannerTest {
    public static void main(String[] args){
        //从键盘接收数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入一串字符串:");

        String str = scanner.nextLine();

        System.out.println("输入的内容为: " +str);

        int i = 0;
        float f = 0.0f;

        System.out.println("请输入一个浮点数:");

        if(scanner.hasNextFloat()){
            f = scanner.nextFloat();
            System.out.println("输入的浮点数值为:" + f);
        }

        System.out.println("下面进入求和程序!");
        //和
        double sum = 0;
        //计算输入了多少个数字
        int m = 0;

        //通过循环判断是否还有输入,并在里面对每一次进行求和和统计
        while(scanner.hasNextDouble()){
            double x = scanner.nextDouble();
            m = m + 1;
            sum += x;
            System.out.println("你输入了第" + m + "个数据,它们的和sum=" + sum);
        }

        scanner.close();
    }
}
</code></pre>

用Enter键间隔输入数字求和结果

在这里插入图片描述

用空格输入数字求和结果

在这里插入图片描述

造成不一样结果的原因是:

空格便是NULL,但是也是存在的,按回车是终止结束。

所以按回车之后,系统识别输入完成,所以进行输出。按空格键,系统认为你还要输入,输入操作还没有完成,输出流在缓冲区等待输入结束

| 使用Idea过程中的一些自己感觉需要的快捷键

| Home 切换光标至行首

| End 切换光标至行末

| Ctrl+Shift+Enter 切换光标至下一行

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Java 中,可以使用 `Scanner` 类来检测输入。下面是一个示例代码: ``` import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个数字: "); int num = scanner.nextInt(); System.out.println("您输入的数字是: " + num); } } ``` 在这段代码中,我们首先创建了一个 `Scanner` 对象,然后使用 `nextInt` 方法读取用户输入的数字。注意,在使用 `Scanner` 类,需要先导入 `java.util.Scanner` 包。 此外,还可以使用 `nextLine` 方法读取用户输入的字符串,例如: ``` Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串: "); String str = scanner.nextLine(); System.out.println("您输入的字符串是: " + str); ``` 希望这些信息对您有帮助。 ### 回答2: Java中可以使用Scanner类来检测输入。 首先需要在代码中导入Scanner类: ``` import java.util.Scanner; ``` 然后可以创建Scanner对象,将System.in作为参数传递给Scanner的构造方法: ``` Scanner scanner = new Scanner(System.in); ``` 接下来可以使用Scanner对象的方法来检测输入。常用的方法有: - next():用于读取一个字符串,遇到空格或换行符结束。 - nextLine():用于读取一行字符串,包括空格和换行符。 - nextInt():用于读取一个整数。 - nextDouble():用于读取一个双精度浮点数。 示例代码如下: ``` Scanner scanner = new Scanner(System.in); System.out.println("请输入一个字符串:"); String str = scanner.next(); System.out.println("您输入的字符串是:" + str); System.out.println("请输入一个整数:"); int num = scanner.nextInt(); System.out.println("您输入的整数是:" + num); System.out.println("请输入一个双精度浮点数:"); double d = scanner.nextDouble(); System.out.println("您输入的浮点数是:" + d); ``` 以上代码可以实现检测输入的功能。在运行代码,控制台会逐行提示用户输入内容,用户输入完后按Enter确认,程序会读取用户输入并进行相应的处理。 ### 回答3: 在Java中,我们可以使用Scanner类来检测输入。首先,我们需要导入java.util.Scanner包。 接下来,我们需要创建Scanner对象,用于从盘读取输入。我们可以使用以下代码创建Scanner对象: Scanner scanner = new Scanner(System.in); 现在,我们可以使用Scanner对象的方法来检测输入。以下是一些常用的方法: 1. nextInt():读取下一个整数。 2. nextDouble():读取下一个浮点数。 3. nextLine():读取下一行字符串。 下面是一个示例代码,用于演示如何使用Scanner类来检测输入: import java.util.Scanner; public class KeyboardInput { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数:"); int num = scanner.nextInt(); System.out.println("您输入的整数是:" + num); System.out.println("请输入一个浮点数:"); double decimal = scanner.nextDouble(); System.out.println("您输入的浮点数是:" + decimal); System.out.println("请输入一行字符串:"); String str = scanner.nextLine(); // 需要多读取一行,用于消耗掉nextInt()或nextDouble()后的换行符 str = scanner.nextLine(); System.out.println("您输入的字符串是:" + str); } } 通过上述代码,我们可以在控制台中依次输入整数、浮点数和字符串,并将其打印出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值