Java键盘输入详解:控制台与对话框方式

4星 · 超过85%的资源 需积分: 49 30 下载量 59 浏览量 更新于2024-09-20 1 收藏 39KB DOC 举报
"Java中获取键盘输入数据的多种方法" 在Java编程中,与C语言不同,没有直接的scanf()函数来获取用户输入。但是,Java提供了多种方式来实现键盘输入,包括控制台输入和对话框输入。以下是对这些方法的详细解释: 1. 控制台输入数据 a. 主方法的形式参数: Java的main方法可以接受一个String类型的数组args作为参数。当程序运行时,命令行传递的参数会自动放入这个数组中。例如,如果你在命令行运行`java DataKeyboardInput1 HelloWorld`,args[0]就会得到"HelloWorld"。 ```java public class DataKeyboardInput1 { public static void main(String[] args) { System.out.println(args[0]); } } ``` b. 利用字节输入流(InputStream): Java的System类中有一个名为in的静态成员,它是InputStream类型的实例,用于从标准输入(通常是键盘)读取字节。可以使用read()方法读取字节,然后将字节转换为字符串和其他数据类型。 ```java import java.io.*; public class DataKeyboardInput2 { public static void main(String[] args) { byte[] buf = new byte[10]; String str; int num; try { // 读取数据到字节数组 num = System.in.read(buf); str = new String(buf, 0, num); System.out.println(str); } catch (IOException e) { e.printStackTrace(); } } } ``` c. 利用字符输入流(Reader): 除了字节流,还可以使用字符流,如BufferedReader,它更适合处理字符数据。 ```java import java.io.*; public class DataKeyboardInput3 { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input; try { // 读取一行输入 input = br.readLine(); System.out.println(input); } catch (IOException e) { e.printStackTrace(); } } } ``` d. 利用文本扫描类(Scanner): Java 5引入了Scanner类,它提供了一种更灵活的输入方式,可以读取基本类型和字符串。 ```java import java.util.Scanner; public class DataKeyboardInput4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String userInput; // 读取字符串 userInput = scanner.nextLine(); System.out.println(userInput); // 读取整数 int num = scanner.nextInt(); System.out.println("输入的整数是:" + num); // 关闭扫描器 scanner.close(); } } ``` 2. 对话框输入数据 在图形用户界面(GUI)环境下,可以使用对话框来获取用户输入,如JOptionPane。以下是一个简单的示例: ```java import javax.swing.JOptionPane; public class DialogInputExample { public static void main(String[] args) { String input = JOptionPane.showInputDialog("请输入信息:"); System.out.println("你输入的是:" + input); } } ``` 以上就是在Java中获取键盘输入数据的常见方法。选择哪种方法取决于你的具体需求,例如在控制台应用程序中,通常使用Scanner或Reader;而在GUI程序中,可能需要使用对话框来获取用户输入。