Java中输入int型数值的方法:着重看Scanner类的使用
在 Java 里,输入 int 型数值存在着多种方式。其中较为常用的方法有使用 Scanner 类、BufferedReader 类以及 Console 类。而在这些常用方法中,使用 Scanner 类是最为常用的,原因在于它具备简单直观以及易于使用的特点。接下来将对使用 Scanner 类来输入 int 型数值的方法进行详细的介绍。

一、使用Scanner类
Scanner 类在 Java 中是一种便捷的输入方式。它处于 java.util 包内。能够从标准输入流(一般为键盘输入)里读取各类数据,其中包含整数。
import java.util.Scanner;
public class Main {
在公共静态的 main 方法中,其参数为 String 类型的数组 args 。
创建一个 Scanner 对象,该对象用于从 System.in 读取输入。
在终端输出“请输入一个整数: ”;
获取用户输入的整数并存储在变量 number 中,通过 scanner 对象的 nextInt()方法实现。
输出的内容为:你输入的整数是 ,后面接着输入的数字 number 。
}
}
在这个例子里,我们先导入了 java.util.Scanner 类。接着创建了一个 Scanner 对象。之后通过调用 nextInt() 方法来读取一个整数。
二、使用BufferedReader类
BufferedReader 类是一种常见的输入方式。尤其是在处理大量数据的时候,它由于具备高效的缓冲机制而被人们所青睐。它处于 java.io 包之下。
引入了 Java 的输入输出类库中的 BufferedReader 类。
import java.io.IOException;
引入了 Java 的输入流读取类,即 java.io.InputStreamReader ;
public class Main {
公共静态的 void 主方法(字符串数组参数 args)抛出 IOException 异常。
创建一个 BufferedReader 对象,它是通过将一个 InputStreamReader 对象作为参数传递给 BufferedReader 的构造函数来创建的,而这个 InputStreamReader 对象又是通过将 System.in 作为参数传递给它的构造函数来创建的。
System.out.print("请输入一个整数: ");
首先读取一行文本,然后将其转换为整数并存储在变量 number 中。
System.out.println("你输入的整数是: " + number);
}
}
在这个例子里,我们先导入了 java.io.BufferedReader 类以及 java.io.InputStreamReader 类。接着创建了一个 BufferedReader 的对象,并且运用 readLine()这个方法来读取一行输入。最后,利用 Integer.parseInt()方法把读取到的内容转换为整数。
三、使用Console类
Console 类是在 Java 6 中被引入的。它是一种专门用来处理控制台输入与输出的新方式。并且它位于 java.io 包之下。
import java.io.Console;
public class Main {
public static void main(String[] args) {
创建了一个名为 console 的对象,该对象是通过调用 System 类中的 console 方法获取到的。
if (console != null) {
控制台读取一行输入,提示内容为“请输入一个整数: ”,并将输入的内容赋值给字符串变量 input 。
将输入转换为整数并赋值给 number 变量,通过调用 Integer.parseInt 方法实现。
系统输出“你输入的整数是: ”与 number 进行拼接后的内容
} else {
输出的内容为“无法使用控制台”。 这句话表明在当前情境下,无法利用控制台进行相关操作或获取相关信息。 它传达了一种关于控制台使用状态的信息,即处于无法使用的状态。
}
}
}
在这个例子里,我们首先把 java.io.Console 类给导入了。接着创建了一个 Console 对象,并且通过 readLine()这个方法来读取一行输入。最后,运用 Integer.parseInt()方法把读取到的内容转换为整数。要注意的是,Console 类在某些 IDE 当中可能是无法使用的。
四、使用JOptionPane类
此组件可用于显示对话框。
使用 javax.swing.JOptionPane 类。
public class Main {
public static void main(String[] args) {
JOptionPane 显示了一个输入对话框,内容为“请输入一个整数: ”,并将输入的内容赋值给了 String 类型的变量 input 。
将输入的内容转换为整数并赋值给变量 number 。具体来说,通过调用 Integer.parseInt 方法将 input 转换为整数类型,并将结果存储在 number 变量中 。
JOptionPane 显示了一个消息对话框,内容为“你输入的整数是: ”加上 number 。
}
}
在这个例子里,我们首先把 javax.swing.JOptionPane 类给导入了。接着运用 showInputDialog()这个方法来展示一个输入对话框,并且通过 Integer.parseInt()这个方法把输入转化成整数。最后,利用 showMessageDialog()这个方法来显示一个消息对话框。
五、处理输入异常
在实际的应用过程里,用户所输入的内容或许并非始终是合法的整数。所以,就需要对可能出现的输入异常进行处理。以下是一个借助 Scanner 类来处理输入异常的示例:
引入 Java 中专门用于处理输入不匹配这种情况的异常类。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = 0;
boolean valid = false;
while (!valid) {
请输入一个整数。
try {
number = scanner.nextInt();
valid = true;
当捕获到 InputMismatchException 异常时,会执行以下操作;如果捕获到了 InputMismatchException 异常,就会进入到相应的处理逻辑;一旦捕获到 InputMismatchException 异常,就会开始执行相关的处理步骤。
输出的内容为:输入无效,请输入一个整数。
scanner.next(); // 清除无效输入
}
}
System.out.println("你输入的整数是: " + number);
}
}
在这个例子里,我们运用 try-catch 语句去捕获 InputMismatchException 异常,并且在捕获到该异常之后,会提示用户重新进行输入。
六、总结
在 Java 中,输入 int 型数值存在多种方式。其中,最为常用的是运用 Scanner 类。Scanner 类具备简单直观且易于使用的特点,适用于大多数的场景。倘若处于需要高效处理大量数据的状况,便可使用 BufferedReader 类。而对于图形用户界面的应用来说,则可以使用 JOptionPane 类。使用任何一种方法时,都要注意对可能出现的输入异常进行处理,这样能提高程序的健壮性。
相关问答FAQs:
1. 如何在Java中输入int类型的数值?
在 Java 中,您能够利用 Scanner 类从用户输入里读取 int 类型的数值。其一,您得导入 Scanner 类。其二,接着使用 Scanner 对象的 nextInt()方法去读取 int 类型的数值。例如:
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();
输出的内容为:您输入的整数是:加上输入的整数 num 。
}
}
这段代码会提示用户去输入一个整数,接着把输入的整数存储在变量 num 里。之后,你能够依据需求对这个变量进行处理。
2. 如何处理用户输入的非整数值?
如果用户输入的值不是整数,那么在使用 nextInt()方法时就会抛出 InputMismatchException 异常。为防止程序崩溃,你可以运用 try-catch 语句来捕获并对这个异常进行处理。例如:
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
try {
int num = scanner.nextInt();
输出您输入的整数的信息,内容为:您输入的整数是:加上具体的 num 数值。
如果捕获到 InputMismatchException 异常,那么就会执行以下操作。
输出的内容表明输入的值并非一个整数,需要重新进行输入。
}
}
}
在这个例子里,若用户输入的值并非一个整数,那么程序会捕获 InputMismatchException 异常,同时输出错误消息。
3. 如何处理用户输入的整数超出int类型的范围?
在 Java 里,int 这种类型的范围是从-2147483648 一直到 2147483647 。要是用户输入的整数超出了这个范围,那么在运用 nextInt()方法的时候就会引发 InputMismatchException 异常。为了对这种状况进行处理,你可以利用 try-catch 语句来捕获并且处理异常。比如:
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
try {
int num = scanner.nextInt();
System.out.println("您输入的整数是:" + num);
} catch (InputMismatchException e) {
输出的内容表明输入的值超出了 int 类型的范围,需要重新输入。
}
}
}
在这个例子里,若用户输入的值超出了 int 类型的范围,那么程序会捕获 InputMismatchException 异常,同时输出错误消息。