JAVA 接收键盘输入

InputStreamReader 是将标准输入字节流(System.in)转换为用于输入的字符流;BufferedReader将字符流转换为缓冲流,利用缓冲流的API的函数readLine()读入命令行输入的一行字符,并赋值给字符串变量。
简单实用!

[@more@]

InputStreamReader 是将标准输入字节流(System.in)转换为用于输入的字符流;BufferedReader将字符流转换为缓冲流,利用缓冲流的API的函数readLine()读入命令行输入的一行字符,并赋值给字符串变量。
简单实用!

import java.io.*;
public class InputOfKey{
private InputStreamReader stdin=new InputStreamReader(System.in);//接收的是标准输入流
private BufferedReader br=new BufferedReader(stdin);//使用字符流
//读取字符串
public String readString(){
String s="";
try{
s=br.readLine();//读取命令行输入的一行字符
}catch(IOException e){
System.out.println(e.toString());
System.exit(0);
}
return s;
}
//读取单个字符
public char readChar(){
char s=;
try{
s=br.readLine().charAt(0);//读取 输入字符串的 一个字符
}catch(Exception e){
System.out.println(e.toString());
System.exit(0);
}
return s;
}
//读取数字
public int readInt(){
int s=0;
try{
s=Integer.parseInt(br.readLine());//将 输入字符串 转换为 数字
}catch(Exception e){
System.out.println(e.toString());
System.exit(0);
}
return s;
}
}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/143526/viewspace-1004803/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/143526/viewspace-1004803/

### Java接收键盘输入的解决方案 在 Java 中,`Scanner` 类是用于接收键盘输入的一种常用方式。通过导入 `java.util.Scanner` 包,实例化 `Scanner` 对象,可以轻松地从控制台获取用户输入的数据[^2]。 以下是一个完整的示例代码,展示了如何在 `main` 方法中使用 `Scanner` 接收键盘输入: ```java import java.util.Scanner; public class KeyboardInputExample { public static void main(String[] args) { // 创建 Scanner 对象以接收键盘输入 Scanner scanner = new Scanner(System.in); // 提示用户输入姓名读取 System.out.println("请输入你的姓名:"); String name = scanner.nextLine(); // 使用 nextLine() 可以接收包含空格的输入 // 提示用户输入年龄读取 System.out.println("请输入你的年龄:"); int age = scanner.nextInt(); // 跳过可能存在的换行符 scanner.nextLine(); // 提示用户输入体重读取 System.out.println("请输入你的体重:"); double weight = scanner.nextDouble(); // 再次跳过可能存在的换行符 scanner.nextLine(); // 提示用户输入性别读取 System.out.println("请输入你的性别(男/女):"); String gender = scanner.nextLine(); // 输出所有接收到的信息 System.out.println("你的姓名是: " + name); System.out.println("你的年龄是: " + age); System.out.println("你的体重是: " + weight); System.out.println("你的性别是: " + gender); // 关闭 Scanner 对象 scanner.close(); } } ``` #### 代码说明 1. **导入 Scanner 类**:通过 `import java.util.Scanner;` 导入 `Scanner` 类。 2. **创建 Scanner 实例**:通过 `Scanner scanner = new Scanner(System.in);` 创建一个 `Scanner` 对象,用于接收来自标准输入流(键盘)的数据。 3. **接收不同类型的数据**: - 使用 `nextLine()` 方法接收字符串类型的输入,包括空格[^1]。 - 使用 `nextInt()` 方法接收整数类型的输入。 - 使用 `nextDouble()` 方法接收浮点数类型的输入。 4. **处理换行符问题**:在调用 `nextInt()` 或 `nextDouble()` 后,需要调用一次 `scanner.nextLine()` 来跳过可能遗留的换行符[^2]。 5. **关闭 Scanner**:通过 `scanner.close();` 关闭 `Scanner` 对象,释放资源。 ### 注意事项 - 如果需要接收包含空格的字符串,建议使用 `nextLine()` 方法,而不要使用 `next()`,因为后者会在遇到空格时停止读取[^1]。 - 在调用 `nextInt()` 或 `nextDouble()` 后,如果紧接着需要调用 `nextLine()`,需要额外插入一个 `scanner.nextLine()` 来清除缓冲区中的换行符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值