via: http://blog.sina.com.cn/s/blog_93dc666c0101h00f.html
Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,请你看以下三种解决方法吧:
以下将列出几种方法:
方法一:从控制台接收一个字符,然后将其打印出来
import java.io.*;
public static void main(String [] args) throws IOException{
System.out.print("Enter a Char:");
char i = (char) System.in.read();
System.out.println("your char is :"+i);
}
虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。
方法二:从控制台接收一个字符串,然后将其打印出来。 在这个题目中,我们需要用到BufferedReader类和InputStreamReader类
import java.io.*;
public static void main(String [] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
System.out.println("Enter your value:");
str = br.readLine();
System.out.println("your value is :"+str);
}
这样我们就能获取我们输入的字符串。
方法三:这种方法我认为是最简单,最强大的,就是用Scanner类
import java.util.Scanner;
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.nextLine();
System.out.println("请输入你的年龄:");
int age = sc.nextInt();
System.out.println("请输入你的工资:");
float salary = sc.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
}
这段代码已经表明,Scanner类不管是对于字符串还是整型数据或者float类型的变量,只需做一点小小的改变,就能够实现功能!无疑他是最强大的!
但是,在使用第三种输入方法的时候有一个需要注意的地方,就是nextLine()函数,在io包中有一个和他功能一样的函数我next()函数,他们的功能一样,但是在实现上有什么差别呢,请看下面代码:
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的年龄:");
int age = sc.nextInt();
System.out.println("请输入你的姓名:");
String name = sc.nextLine();
System.out.println("请输入你的工资:");
float salary = sc.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
}
这段代码和上边第三种实现输入方法给出的例子代码区别在于,这段代码先执行nextInit()再执行nextLine(),而第三种方法的例子是先执行nextLine(),再执行nextInit(),当你在运行着两段代码的时候你会发现第三种方法的例子可以实现正常的输入,而这段代码却在输入年龄,敲击enter键后,跳过了输入姓名,直接到了输入工资这里,(可以自己运行代码看看)这是为什么呢?其实,在执行nextInit()函数之后,敲击了enter回车键,回车符会被nextLine()函数吸收,实际上是执行了nextLine()函数吸收了输入的回车符(并不是没有执行nextLine函数),前面讲到和nextLine()功能一样的函数next(),他们的区别就在于:next()函数不会接收回车符和tab,或者空格键等,所以在使用nextLine()函数的时候,要注意敲击的回车符有个被其吸收,导致程序出现BUG!!!
最后小小的总结一下next()和nextLine()的区别:
在java中,next()方法是不接收空格的,在接收到有效数据前,所有的空格或者tab键等输入被忽略,若有有效数据,则遇到这些键退出。nextLine()可以接收空格或者tab键,其输入应该以enter键结束。
相关推荐
下面我们将介绍 Java 中获取键盘输入值的三种方法。 方法一:使用 System.in.read() 在 Java 中,我们可以使用 System.in.read() 方法来获取键盘输入值。该方法可以从控制台接收一个字符,然后将其打印出来。下面...
Java中获取键盘输入值的三种方法介绍 Java中获取键盘输入值是程序开发过程中常见的情形,但Java中并没有像C语言的scanf()或C++的cin()这样的现成函数来获取键盘输入值。因此,开发者们需要依靠其他方法来获取键盘...
程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们束手无策,请你看...
Java 中获取键盘输入值的三种方法是 Java 开发过程中非常重要的一部分,以下将对这三种方法进行详细的介绍和分析。 方法一:从控制台接收一个字符,然后将其打印出来 这种方法使用 System.in.read() 函数来读取...
以上介绍了Java中键盘输入的几种主要实现方式,包括利用主方法的形式参数、字节输入流、字符输入流以及文本扫描类等。每种方法都有其适用场景: - **形式参数**适用于简单的命令行输入。 - **字节输入流**适合需要...
同时,我们也可以在Java代码中通过`findViewById()`方法获取到`EditText`实例,然后进行事件监听和数据绑定。 接着,我们关注"android软键盘"。在Android中,软键盘的显示和隐藏通常由系统自动处理。但是,有时我们...
在Java_Jietu中,用户可以选择保存图片的格式和路径,这可能是通过对话框来获取用户输入,然后调用`ImageIO.write()`来完成。 此外,从"屏幕截取软件和源代码(经典)"这个文件名来看,Java_Jietu不仅提供了可执行...
### Java程序:求三个数的最大值 #### 知识点概览 1. **基本语法与数据类型**:包括变量声明、数据类型等。 2. **控制结构**:使用`if...else`语句实现逻辑判断。 3. **标准输入输出**:利用`BufferedReader`读取...
在Java编程语言中,将由键盘输入的数据保存到文件中是一项基本操作,这对于数据存储、日志记录等应用场景至关重要。本篇文章将详细讲解如何在Java中实现这一功能,主要涉及IO流(Input/Output Stream)的使用。 ...
3. **事件处理**:学习如何处理用户输入,如键盘和鼠标事件,用于控制游戏中的角色或物体移动。 4. **游戏循环**:理解游戏主循环的工作原理,它是游戏持续运行并更新屏幕的关键。 5. **动画与定时器**:如何实现...
- 在模拟键盘输入时,要注意处理特殊字符和组合键,例如Ctrl+C、Ctrl+V等。 以上就是关于Java中模拟鼠标键盘操作的基础知识,通过结合这些API,开发者可以构建出复杂的人机交互逻辑,实现各种自动化任务。在实际...
自己做的小东西,可能有未完善的地方;有错请喷!Java 获取控制台输入的整数并输出最大值和最小值。
键盘输入3103,打印出三一零三。 处理方法: 1、定义一个字符串数组,保存汉字数字 2、然后将传入的数字转换成字符串,并且求出字符串的长度, 3、根据求出的的字符串长度,调用pow方法,计算出传入数字...
有几种不同的方法可以实现这一目标,这里主要讨论的是在Java中如何获取键盘输入。 1. **命令行参数**: Java程序可以通过`main`方法的`String[] args`参数接收命令行输入。当运行Java程序时,用户可以在命令行界面...
- **第三方库**: 如JNA(Java Native Access)或JNI(Java Native Interface),它们允许Java代码直接调用本地(操作系统)函数,包括系统级的键盘事件处理。 总的来说,这个项目提供了一个Java实现软键盘并利用...
在Java编程语言中,接收键盘输入是常见的任务,用于实现用户与程序的交互。本文将详细介绍三种不同的方法来实现这一功能:使用`System.in`、`InputStreamReader`和`BufferedReader`组合,以及使用`Scanner`类。 1. ...
【标题】:“java实验项目一_java_”是一个Java编程实践任务,主要关注的是利用Java语言进行输入输出操作,特别是与用户交互以获取圆的半径。 【描述】:“选择你喜爱的输入输出方式输入圆的半径”这句话暗示了实验...
这个文档资料中的`Input`类提供了一种简洁的方式来获取不同类型的键盘输入,包括字符串、字符、整数、浮点数和双精度数。下面我们将详细探讨这个类的工作原理和其中涉及到的知识点。 首先,`Input`类通过`...
Java语言程序设计中的输入/输出(I/O)是程序与外部世界交互的重要方式,包括从文件、键盘、网络等来源读取数据以及向这些目的地写入数据。在Java中,I/O流的概念被广泛使用,它形象地比喻为连接到数据源的“管道”...
Java 3D是基于Java的高级图形库,它构建在Java Foundation Classes (JFC) 和Java AWT/Swing之上,提供了一种面向对象的方式来创建和展示三维图形。在Java 3D中,我们创建一个`SceneGraph`,其中包含表示3D世界的节点...