java Scanner方法的使用

1、关于对象.nextLine();的使用

正确代码

package test;

import java.util.*;

public class Test
{
    public static void main(String []args)
    {
    	Scanner scan=new Scanner(System.in);
    	double a=scan.nextDouble();
    	int b=scan.nextInt();
    	scan.nextLine();   //吸收回车键
    	String s=scan.nextLine();
    	scan.close();
        System.out.println("数据:"+a);
        System.out.println("数据:"+b);
        System.out.println("数据:"+s);
    }
}

在这里插入图片描述
错误代码

package test;

import java.util.*;

public class Test
{
    public static void main(String []args)
    {
    	Scanner scan=new Scanner(System.in);
    	double a=scan.nextDouble();
    	int b=scan.nextInt();
    	//scan.nextLine();   //吸收回车键
    	String s=scan.nextLine();
    	scan.close();
        System.out.println("数据:"+a);
        System.out.println("数据:"+b);
        System.out.println("数据:"+s);
    }

在这里插入图片描述
去掉scan.nextLine();在程序运行可能会出错。我还没输入第三个数据,程序就直接输出了,因为使用了 .nextLine();
回车键当成我所输入的内容给输出了。
用空格代替回车符的话…emmmm直接贴图

在这里插入图片描述
第三个数据最前面多了个空格。。。。。
所以还是要用scan.nextLine();来吸收回车键。

2、要记得关闭输入流 ——————scan.close();

需要自己close的东西,一般都是用了虚拟机之外的资源,例如端口,显存,文件等,虚拟机无法通过垃圾回收释放这些资源,只能你显式调用close方法来释放。
许多情况下,如果在一些比较频繁的操作中,不对流进行关闭,很容易出现输入输出流经超越了JVM的边界,所以有时可能无法回收资源。
所以流操作的时候凡是跨出虚拟机边界的资源都要求程序员自己关闭,不要指望垃圾回收。
你读一个文件,忘记关闭了流,你在操作系统里对这个文件的写,删除等操作就会报错,告诉你这个文件被某个进程占用。

上面这段转自https://blog.csdn.net/injurooioo/article/details/73551444

虽然我也不太理解。

3、介绍下scanner方法吧。

在这里插入图片描述

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 你可以使用 Scanner 类来读取用户输入的数据。首先,你需要创建一个 Scanner 对象,然后使用该对象的方法来读取输入的数据。例如,下面的代码演示了如何使用 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 对象 scanner,然后使用该对象的 nextInt() 方法来读取用户输入的整数。最后,我们将读取到的整数输出到控制台上。 除了 nextInt() 方法Scanner 类还提供了许多其他的方法来读取不同类型的数据,例如 next() 方法用于读取字符串,nextDouble() 方法用于读取双精度浮点数等等。 ### 回答2: Scanner 类是 Java 中的一个工具类,可以用来读取用户输入的数据。使用 Scanner 类之前,必须先导入 java.util 包,因为 Scanner 类位于 java.util 包中。 要使用 Scanner 类,首先需要创建 Scanner 对象。创建对象需要指定要读取的数据来源,可以是控制台输入、文件等等。通常最常用的是从控制台输入数据。 下面是使用 Scanner 类从控制台读取一个整数的示例代码: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { // 创建 Scanner 对象 Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数:"); // 读取整数 int num = scanner.nextInt(); System.out.println("您输入的整数是:" + num); // 记得关闭 Scanner 对象 scanner.close(); } } ``` 上述代码中,首先创建了一个 Scanner 对象,并指定要读取的数据来源为 System.in,即表示从控制台输入数据。然后通过调用 `nextInt()` 方法,读取用户输入的整数,并保存到 num 变量中。最后输出用户输入的整数。 在实际使用中,我们还可以使用其他的 `next()` 方法来读取不同类型的数据,如 `nextLine()` 读取一行字符串,`nextFloat()` 读取一个浮点数等等。我们也可以使用 `hasNext` 方法来判断是否还有输入可读取,从而实现更复杂的交互操作。 最后,记得在使用完成后调用 `scanner.close()` 来关闭 Scanner 对象,释放资源。 这就是使用 Scanner 类的基本方法,通过它可以方便地读取用户输入的数据,为后续的操作提供数据支持。 ### 回答3: Java中的Scanner类是用于获取用户输入的工具类。要使用Scanner类,需要先创建Scanner对象,并传入要读取的输入流作为参数。 以下是Scanner类的基本用法: 1. 导入Scanner类: ```java import java.util.Scanner; ``` 2. 创建Scanner对象,并指定要读取的输入流(通常是System.in,表示从控制台读取): ```java Scanner scanner = new Scanner(System.in); ``` 3. 使用Scanner对象的方法来获取用户输入,比如: ```java int num = scanner.nextInt(); // 读取整数 double decimal = scanner.nextDouble(); // 读取浮点数 String str = scanner.next(); // 读取字符串(空格之前的部分) String line = scanner.nextLine(); // 读取整行字符串 ``` 4. 使用获取到的用户输入进行后续操作,比如进行计算、输出等。 5. 最后要记得关闭Scanner对象,释放资源: ```java scanner.close(); ``` 需要注意的是,Scanner类的方法在读取用户输入时会阻塞程序的执行,直到用户输入完成。 另外,Scanner类还提供了一些其他的方法,用于判断输入是否是特定类型的数据(如hasNextInt()判断是否有整数输入)、获取特定类型数据(如nextInt()获取下一个整数输入)等。 总结来说,使用Scanner类可以方便地从用户输入获取数据,并进行后续操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值