早上逛CSDN论坛,看到一位网友求助问题,这道题本来很简单,但由于一段时间没用IO类,花了很长一段时间才找到问题所在,根本原因在于第一次读取时发生了错误,少读了回车和换行。
为了掌握输入输出问题同时避免大家犯同样的错误,按照那位网友的做法重新写了个简单的示例,并参考了其他的网友的解决办法让大家更好的掌握这个知识点,如有侵权请告之。
以下代码都在本人机子上跑过,正常无误后发布,请大家放心使用
package com.demo01;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
/**
* Java获得键盘输入方法
* 1.使用BufferedReader
* 2.使用Scanner(这种比较简单)
* 两种方式都可以
* @author OracleX
*
*/
public class Demo2 {
public static void main(String args[]){
char i = 0;
boolean flag=true;
System.out.println("请选择您所要操作的选项...");
System.out.println("1.输入名字 2.玩游戏 3.获取排名 4.退出");
try {
i=(char) System.in.read();
System.in.read(new byte[2]); //问题的所在此处 少读了回车换行
} catch (IOException e) {
e.printStackTrace();
}
switch(i){
case '1':
System.out.println("请输入名字:");
// String str=getStringByBufferedReader();
String str=getStringByScanner();
System.out.println("名字是"+str);
flag=false;
break;
case '2':
if(flag){
System.out.println("请先输入名字");
}else{
System.out.println("进入游戏");
}
break;
case '3':
System.out.println("排名是.......");
break;
case '4':
System.exit(-1);
break;
default:
System.out.println("请输入正确的序号");
}
}
public static String getStringByBufferedReader(){
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str="";
try {
str = br.readLine(); //获取字符串
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
public static String getStringByScanner(){
Scanner scanner=new Scanner(System.in);
String str=scanner.next(); //获取字符串
// int num=scanner.nextInt(); //获取整数值
// System.out.println("num===="+num);
return str;
}
}
分享到:
相关推荐
在Java编程中,键盘输入是一项基本功能,用于从用户那里获取数据。与C语言中直接使用`scanf()`不同,Java提供了多种灵活的方式来处理键盘输入。本文将详细介绍这些方法,并通过示例代码帮助读者更好地理解和应用。 ...
在Java编程中,模拟键盘输入是一项实用的技术,它允许程序在不依赖用户交互的情况下自动向系统或应用程序提供输入。这通常用于自动化测试、脚本执行或者其他需要模拟用户操作的场景。下面将详细介绍如何在Java中实现...
Java 编程中获取键盘输入值的方法 Java 编程中获取键盘输入值的方法是非常重要的,在 Java 开发过程中,需要从键盘获取输入值是常有的事。然而,Java 没有提供像 C 语言的 scanf() 或 C++ 的 cin() 获取键盘输入值...
在Java编程语言中,接收键盘输入流是一项基本但至关重要的任务,它允许程序与用户进行交互。在给定的代码示例中,我们看到如何使用`java.io`包中的类来实现这一功能。以下是详细的知识点解释: 1. **...
"Java捆绑键盘输入.rar"这个压缩包提供的源码就是一个关于如何在Java中实现自定义键盘绑定的例子,特别是涉及到如何利用组合键(如Ctrl+1、Ctrl+2)来执行特定的操作,如剪切和粘贴。下面我们将详细探讨这一主题。 ...
在Java编程语言中,将由键盘输入的数据保存到文件中是一项基本操作,这对于数据存储、日志记录等应用场景至关重要。本篇文章将详细讲解如何在Java中实现这一功能,主要涉及IO流(Input/Output Stream)的使用。 ...
### Java实现键盘输入的方法 在Java编程语言中,实现键盘输入是进行用户交互的重要手段之一。本文将基于提供的代码示例,详细介绍如何使用`Scanner`类实现键盘输入,并对比另一种利用`InputStreamReader`和`...
### Java仿真模拟键盘输入 #### 知识点概述 本文将详细介绍如何利用Java语言实现键盘输入的模拟功能。通过分析给定的示例代码,我们可以深入理解如何在Java环境中使用`java.awt`包中的`Robot`类来模拟键盘操作。这...
有几种不同的方法可以实现这一目标,这里主要讨论的是在Java中如何获取键盘输入。 1. **命令行参数**: Java程序可以通过`main`方法的`String[] args`参数接收命令行输入。当运行Java程序时,用户可以在命令行界面...
1. **键盘输入**:Java使用`java.util.Scanner`类获取用户的输入。在示例代码中,通过`Scanner scan = new Scanner(System.in);`创建了一个扫描器对象,然后用`scan.nextInt();`读取用户输入的整数。 2. **条件判断...
在Java编程中,检测键盘事件是一项基础且重要的功能,它使得程序能够响应用户的键盘输入,从而实现各种交互式操作。本实例"JAVA100例之实例75 检测键盘事件"聚焦于如何利用Java API来监听并处理键盘事件。在本文中,...
Java中从键盘输入多个整数的方法 Java中从键盘输入多个整数的方法是Java基础编程中的一种常见操作。今天,我们将为您分享两种从键盘输入多个整数的方法,分别使用`sc.hasNextInt()`函数和`sc.trim()`函数。 使用`...
键盘事件是事件处理中的一个重要类别,它涉及到监听和处理用户通过键盘输入的各种按键动作。本篇将深入探讨Java中的键盘事件,并提供一个名为`KeyEventDemo1.java`的实例代码。 首先,我们要理解Java AWT(Abstract...
5. 示例代码:压缩包中的例子可能包括一个简单的Applet,它在运行时屏蔽键盘输入。通过查看源代码,你可以看到如何将上述步骤应用到实际项目中。 总之,这个资源包提供了一个学习如何在Java Applet中屏蔽键盘输入的...
`KeyListener`是Java AWT(Abstract Window Toolkit)包中的一个接口,它提供了处理键盘输入事件的方法。当用户在具有键盘焦点的组件上按下、释放或键入键时,这些方法会被调用。以下是一些关键概念: 1. **键盘...
然后,你需要注册一个`KeyListener`来监听键盘输入。以下是一个简单的示例: ```java import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.KeyListener; import javax.media.j3d.Canvas3D; ...
Java中获取键盘输入值的三种方法介绍 Java中获取键盘输入值是程序开发过程中常见的情形,但Java中并没有像C语言的scanf()或C++的cin()这样的现成函数来获取键盘输入值。因此,开发者们需要依靠其他方法来获取键盘...
getLinePara.java 获取命令行参数示例 hasStaticMethod.java 静态成员方法示例 hasStatMember.java 静态成员变量示例 HelloNative.c 用C写的一个小程序 HelloNative.dll 用C生成的DLL文件 HelloNative.exp 用...
Java从键盘输入数字并判断大小的方法 Java从键盘输入数字并判断大小是Java编程中的一种常见操作,今天我们将分享一个使用Java从键盘输入数字并判断大小的方法。 首先,我们需要了解Java的输入流机制。Java的输入流...