Java键盘输入详解:控制台与对话框方式
4星 · 超过85%的资源 需积分: 49 75 浏览量
更新于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程序中,可能需要使用对话框来获取用户输入。
3459 浏览量
1512 浏览量
2023-12-27 上传
338 浏览量
224 浏览量
点击了解资源详情
120 浏览量
pinotao
- 粉丝: 0
- 资源: 3
最新资源
- activerecord-postgis-adapter, 在PostgreSQL和rgeo上,基于PostGIS的ActiveRecord连接适配器,基于.zip
- 管理系统后台模板manage.zip
- data-scientist
- Ameme
- pretty-error, 查看 node.js 错误,减少了混乱.zip
- 行业文档-设计装置-安全胶带纸.zip
- 5G Massive MIMO的系统架构及测试技术的详细资料概述-综合文档
- CH341土豪金xtw.zip
- js-actions-azure
- SparkCore-Photon-Fritzing, Spark核心零件和示例的Fritzing库.zip
- 操作系统(学校).rar
- Adalight-FastLED:具有FastLED支持的Adalight
- profile-viewer-tutorial
- opencv-python3.4.1.15.zip
- 文卡特
- hmpo-laptops-public:公共回购以对开发人员笔记本电脑执行初始的引导