📅  最后修改于: 2023-12-03 15:33:06.540000             🧑  作者: Mango
在Java编程中,我们经常需要从控制台中获取用户输入的数据。针对这种需求,Java提供了scanner类,它可以读取标准输入流中的数据。在scanner类中,有两个常用的方法:nextInt和nextLine。
nextInt方法用于读取下一个整数,它会将读取到的整数返回给程序,如果标准输入流中并不是整数,就会抛出InputMismatchException异常。下面是一个nextint的代码片段:
import java.util.Scanner;
public class NextIntExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
System.out.println("You entered " + i);
scanner.close();
}
}
这个程序首先创建了一个scanner对象,然后读取了标准输入流中的一个整数,并将其存储在变量i中,最后输出了变量i的值。
nextLine方法用于读取下一行文本,它会将读取到的文本字符串返回给程序,如果标准输入流中并没有下一行文本,就会一直等待用户输入。下面是一个nextLine的代码片段:
import java.util.Scanner;
public class NextLineExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
System.out.println("You entered " + s);
scanner.close();
}
}
这个程序首先创建了一个scanner对象,然后读取了标准输入流中的一行文本,并将其存储在变量s中,最后输出了变量s的值。
需要注意的是,当我们在程序中使用nextLine方法之前使用了nextInt方法时,由于nextInt方法只读取了一个整数,它没有读取该行剩余的字符,因此会留下一个换行符。这个换行符会被下一个nextLine方法读取,导致我们无法输入文本数据,这是开发者经常遇到的一个坑。为了避免这种情况,我们可以在nextInt方法之后再调用一次scanner.nextLine方法,将剩余的字符读取完,代码片段如下:
import java.util.Scanner;
public class NextIntAndNextLineTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
scanner.nextLine();
String s = scanner.nextLine();
System.out.println("You entered " + i + " and " + s);
scanner.close();
}
}
这个程序中,我们在nextInt方法之后调用了一次nextLine方法,这样就将剩余的字符读取完了。这种做法可以保证我们在使用nextLine方法时不会受到之前nextInt方法的干扰。
以上就是Java中常用的nextInt和nextLine方法的介绍,希望可以帮助大家更好地使用scanner类。