欢迎访问宙启技术站
智能推送

nextInt()函数如何从控制台读取整数类型输入?

发布时间:2023-05-21 23:45:40

nextInt()函数是Java中Scanner类的一个方法,用于从控制台读取整数类型的输入。Scanner类是Java中常用的用于读取用户输入的类,nextInt()方法是该类中用于读取整数类型输入的方法。

该方法的语法为:

public int nextInt()

该方法返回一个整数类型的值,读取控制台上用户输入的下一个整数。在读取前,该方法会先等待用户在控制台上输入一个整数,然后将该整数读取并返回。

下面是使用nextInt()函数从控制台读取整数类型输入的例子:

import java.util.Scanner;

public class ReadInt {

  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

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

    int num = scanner.nextInt();

    System.out.println("您输入的数字是:" + num);

  }

}

以上代码使用Scanner类创建了一个scanner对象,该对象调用nextInt()方法来读取用户在控制台上输入的整数,并将读取的整数保存在num变量中。最后输出读取的整数。

在控制台上运行该程序,会弹出一个提示框,请用户输入一个整数,然后回车。接着,程序会将读取的整数输出到控制台上。如果用户输入的不是整数类型,程序会抛出InputMismatchException异常。

nextInt()函数从控制台读取整数类型输入的原理是,当用户在控制台上输入一个整数并回车时,该整数会存储在Scanner类的输入缓冲区中。nextInt()函数会从该缓冲区中读取用户输入的整数,并返回该整数。如果输入缓冲区中没有整数,nextInt()函数就会等待控制台上的用户输入。

为了防止输入缓冲区中的残留内容影响nextInt()函数的读取,通常在调用nextInt()函数之前会先调用nextLine()函数将缓冲区中的内容清空。例如,如果在读取控制台上输入的整数之后还想读取一行字符串,可以在调用nextInt()函数之后调用nextLine()函数,如下所示:

import java.util.Scanner;

public class ReadIntAndString {

  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

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

    int num = scanner.nextInt();

    scanner.nextLine();  // 清空缓冲区

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

    String s = scanner.nextLine();

    System.out.println("您输入的数字是:" + num);

    System.out.println("您输入的字符串是:" + s);

  }

}

以上代码先调用nextInt()函数读取一个整数,然后调用nextLine()函数清空缓冲区。接着,程序调用nextLine()函数再次读取一行字符串,并输出读取的整数和字符串。

总之,nextInt()函数是Java中用于从控制台读取整数类型输入的方法,可以方便地读取控制台上用户输入的整数。在使用该方法时,需要注意清空输入缓冲区的内容,以保证不会出现意外的错误。