java接收键盘输入(三种方法)

本文介绍并演示了三种不同的Java输入输出方法:使用System.in直接读取字符、利用InputStreamReader与BufferedReader读取字符串,以及采用Scanner类进行多功能的数据读取。通过实际案例展示了不同输入方式的特点及适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStreamReader;  
import java.util.Scanner;  
  
public class EnterTest { 
    
  public static void main(String[] args) { //主方法 
    CharTest();  //调用System.in方法 
    ReadTest();  //调用ReadTest方法 
    ScannerTest();//调用ScannerTest方法 
  } 
  /** 
   * System.in和System.out方法 
   * 缺点一: 该方法能获取从键盘输入的字符,但只能针对一个字符的获取 
   * 缺点二: 获取的只是char类型的。如果想获得int,float等类型的输入,比较麻烦。 
   */
  public static void CharTest(){  
    try{ 
      System.out.print("Enter a Char:"); 
      char i = (char)System.in.read(); 
      System.out.println("Yout Enter Char is:" + i); 
    } 
    catch(IOException e){ 
      e.printStackTrace(); 
    } 
      
  } 
  /** 
   * InputStreamReader和BufferedReader方法 
   * 优点: 可以获取键盘输入的字符串 
   * 缺点: 如何要获取的是int,float等类型的仍然需要转换 
   */
  public static void ReadTest(){ 
    System.out.println("ReadTest, Please Enter Data:"); 
    InputStreamReader is = new InputStreamReader(System.in); //new构造InputStreamReader对象 
    BufferedReader br = new BufferedReader(is); //拿构造的方法传到BufferedReader中 
    try{ //该方法中有个IOExcepiton需要捕获 
      String name = br.readLine(); 
      System.out.println("ReadTest Output:" + name); 
    } 
    catch(IOException e){ 
      e.printStackTrace(); 
    } 
      
  } 
  /** 
   * Scanner类中的方法 
   * 优点一: 可以获取键盘输入的字符串 
   * 优点二: 有现成的获取int,float等类型数据,非常强大,也非常方便; 
   */
  public static void ScannerTest(){ 
    Scanner sc = new Scanner(System.in); 
    System.out.println("ScannerTest, Please Enter Name:"); 
    String name = sc.nextLine();  //读取字符串型输入 
    System.out.println("ScannerTest, Please Enter Age:"); 
    int age = sc.nextInt();    //读取整型输入 
    System.out.println("ScannerTest, Please Enter Salary:"); 
    float salary = sc.nextFloat(); //读取float型输入 
    System.out.println("Your Information is as below:"); 
    System.out.println("Name:" + name +"\n" + "Age:"+age + "\n"+"Salary:"+salary); 
  } 
}

### Java键盘输入数组 在Java中,可以通过`Scanner`类实现从键盘读取用户输入的功能。下面是一个完整的示例程序,展示了如何接收并存储来自键盘的整数数组。 #### 使用 `Scanner` 类读取数组 ```java import java.util.Scanner; public class ArrayInputExample { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入数组的大小: "); int size = scanner.nextInt(); int[] array = new int[size]; System.out.println("请依次输入数组中的元素:"); for (int i = 0; i < size; i++) { System.out.printf("第 %d 个元素:", i + 1); array[i] = scanner.nextInt(); } System.out.println("您输入的数组为:"); for (int value : array) { System.out.print(value + " "); } scanner.close(); // 关闭scanner对象以释放资源 } } ``` 此代码片段实现了以下功能: - 首先提示用户输入数组的长度,并将其赋值给变量`size`[^2]。 - 创建一个具有指定大小的整型数组`array`。 - 循环读取用户的输入并将这些值存入数组中。 - 打印最终形成的数组以便验证结果。 注意,在实际应用过程中应当考虑异常情况处理(如非法数值),这里为了简化演示未加入错误检测逻辑。 #### 字符串作为特殊的一维字符数组 如果目标是从键盘获取字符串形式的数据,则可以利用`nextLine()`方法代替`nextInt()`, 这样能够接受整个行的内容作为一个字符串保存下来[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值