Java键盘输入详解:控制台与对话框方式
4星 · 超过85%的资源 需积分: 49 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程序中,可能需要使用对话框来获取用户输入。
2015-01-11 上传
2020-09-05 上传
2023-12-27 上传
2022-06-11 上传
2012-12-07 上传
点击了解资源详情
点击了解资源详情
pinotao
- 粉丝: 0
- 资源: 3
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码