如何在Java中接受用户输入?
输入和输出是任何编程语言的两个主要基本方面。键盘和屏幕分别是进行输入和输出的基本设备。用户输入对于使应用程序具有交互性非常重要。通过收集输入,Java 程序可以自定义其输出、执行特定操作或调整其功能以满足不同用户的需求。不同的 Java 包包含其他类来获取用户的输入。本文讨论如何用 Java 获取用户的输入。
在 Java 中获取用户输入的方法
在Java程序中,有三种从用户获取输入的方式。它们如下所示-
-
使用Scanner类
使用BufferedReader类
使用Console类
Scanner类
Scanner 类用于在 Java 中获取用户的输入。它是获取用户输入的最常用且最简单的方法之一。它是 java.util 包的一部分。我们可以使用 Scanner 类获取原始类型的输入,如 int、char、float、double 等。它更容易阅读,使其成为最常见的选择。
语法
Scanner scn=new Scanner(System.in);
导入 java.util 包对于使用 Scanner 类非常重要。在上面的语句中,我们创建了一个 Scanner 类构造函数,然后传递了 System.in 参数,使其能够从标准输入流中读取。
扫描仪类方法
nextInt() | 的翻译为:用于读取并返回下一个整数值。 |
nextFloat() | 用于读取并返回下一个浮点值 |
nextDouble() | 用于读取并返回下一个双精度值。 |
下一个() | 它用于读取并返回下一个单词的值作为字符串。 |
nextLine() | 它用于读取并返回下一个多个单词值作为字符串 |
nextLong() | 它用于读取并返回下一个长整型值。 |
nextShort() | 它用于读取并返回下一个短整型值。 |
nextByte() | 用于读取并返回下一个字节值。 |
nextBoolean() | 它用于读取并返回下一个布尔值。 |
Example
的中文翻译为:示例
以下是使用 Java 中的 Scanner 类获取用户输入的示例。
//import the java.util package import java.util.*; public class Main { public static void main(String args[]) { // to take the input, use the Scanner Class Scanner scn = new Scanner(System.in); System.out.println("Enter your roll no"); int roll_no = scn.nextInt(); //integer input System.out.println("Enter your name"); String name= scn.next(); //String input System.out.println("Enter your marks"); double marks = scn.nextDouble(); //double input System.out.println("Your roll no is- " + roll_no+" your name is- "+name+" and marks- "+marks); } }
输出
以下是上述代码的输出
Enter your roll no 1 Enter your name Sita Enter your marks 99 Your roll no is- 1 your name is- Sita and marks- 99.0
Explanation
的中文翻译为:解释
在上面的代码中,我们在Java中创建了一个Scanner类。我们以int、String和double的形式获取了三个不同的用户输入。获取输入后,我们将它们打印出来
Scanner类的优点
易于实施。
简单的方法。
Scanner类的缺点
速度较慢。
它不是同步的,因此不适合多线程。
BufferedReader 类
BufferedReader是Java中另一个用于从用户获取输入的类。它在JDK 1.0中引入,并且是从用户获取输入的基本方法。它位于java.io包中。
语法
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
这意味着我们创建了一个BufferedReader对象。InputStreamReader类用于将输入的字节流转换为BufferedReader可以理解的字符流。System.in是标准输入,默认为键盘。
readLine()方法用于读取一行并将其存储为字符串。如果字符串需要转换为其他数据类型,必须显式进行类型转换。
Example
的中文翻译为:示例
以下是使用 Java 中的 BufferedReader 类获取用户输入的示例。
//import the java.io package import java.io.*; public class Main { public static void main(String args[]) throws IOException { // to take the input, use the BufferedReader Class BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter your roll no"); int roll_no = Integer.parseInt(br.readLine()); //integer input System.out.println("Enter your name"); String name= br.readLine(); //String input System.out.println("Enter your marks"); double marks = Double.parseDouble(br.readLine()); //double input System.out.println("Your roll no is- " + roll_no+" your name is- "+name+" and marks- "+marks); } }
输出
以下是上述代码的输出 -
Enter your roll no 1 Enter your name Sita Enter your marks 94 Your roll no is- 1 your name is- Sita and marks- 94.0
Explanation
的中文翻译为:解释
创建了一个名为"br"的BufferedReader对象。它使用InputStreamReader类从用户那里获取输入,该类将输入的字节转换为字符。我们已经从用户那里获取了输入,但它的默认值是一个字符串。然后将其强制转换为所需的数据类型
BufferedReader类的优点
更快的性能
可以与多个线程一起使用。
BufferedReader类的缺点
只能接受字符串输入。稍后必须将它们转换为所需的数据类型。
可能需要导入多个库才能使用 BufferedReader 类。
控制台类
使用 Console 类是通过命令行获取用户输入的另一种方法。这是在 JDK 1.5 中引入的,并且存在于 java.io 包中。 Console 类对于从控制台读取密码非常有用。此外,与其他方法相比,它的实例化很简单。 java.io.Console 库对于 Console 类至关重要。
语法
Console c = System.console();
Example
的中文翻译为:示例
以下是使用 Java 中的 Console 类获取用户输入的示例。
//import the java.io package import java.io.*; public class Main { public static void main(String args[]) throws IOException { System.out.println("Enter your roll no"); int roll_no = Integer.parseInt(System.console().readLine()); //integer input System.out.println("Enter your name"); String name = System.console().readLine(); System.out.println("Enter your marks"); double marks = Double.parseDouble(System.console().readLine()); //double input System.out.println("Your roll no is- " + roll_no+" your name is- "+name+" and marks- "+marks); } }
输出
以下是上述代码的输出 -
Enter your roll no 1 Enter your name Sita Enter your marks 96 Your roll no is- 1 your name is- Sita and marks- 96.0
Explanation
的中文翻译为:解释
在上面的代码中,我们直接使用System.console()函数读取了用户输入。
Console类的优点
-
我们可以安全地输入密码,因为在输入过程中密码是不可见的
这个类使用了同步方法
BufferedReader类的缺点
不能在像IDE这样的环境中使用,其中所有输入不是一次性给出的。
因此,我们了解了如何在Java中从用户那里获取输入。根据个人偏好,我们可以使用其中任何一种。
以上是如何在Java中接受用户输入?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

输入和输出是任何编程语言的两个主要基本方面。键盘和屏幕分别是进行输入和输出的基本设备。用户输入对于使应用程序具有交互性非常重要。通过收集输入,Java程序可以自定义其输出、执行特定操作或调整其功能以满足不同用户的需求。不同的Java包包含其他类来获取用户的输入。本文讨论如何用Java获取用户的输入。在Java中获取用户输入的方法在Java程序中,有三种从用户获取输入的方式。它们如下所示-使用Scanner类使用BufferedReader类使用Console类Scanner类Scanner类用于

Java文档解读:Scanner类的hasNextInt()方法用法解析,需要具体代码示例简介Java中的Scanner类是一个实用工具,可以用于从输入流中扫描和解析文本。Scanner类提供了多种方法以满足不同的需求,其中之一就是hasNextInt()方法。该方法用于检查下一个输入是否为int类型。方法语法hasNextInt()方法的语法如下:publ

如何使用Scanner类的hasNextLine()方法检查用户输入中是否还有下一行Scanner类是Java中用于读取用户输入的一个常用工具类。它提供了许多方便的方法来帮助我们处理输入。其中一个非常有用的方法是hasNextLine(),它可以用来检查用户输入中是否还有下一行。本文将介绍如何使用Scanner类的hasNextLine()方法及其相关代码示

如何使用Scanner类的findInLine()方法在用户输入中查找指定的字符串Scanner类是Java中常用的输入处理类,它提供了多种方法来从输入流中读取数据。其中,findInLine()方法可以用来在用户输入中查找指定的字符串。本文将介绍如何使用Scanner类的findInLine()方法,并附上相应的代码示例。在开始使用Scanner类的fin

Java利用Scanner类的nextInt()函数获取控制台输入的整数值Scanner类是Java中常用的用于接受控制台输入的类之一。它提供了许多方便的方法,其中包括nextInt()函数,用于获取控制台输入的整数值。本文将以代码示例的方式介绍如何使用Scanner类的nextInt()函数获取控制台输入的整数值。首先,我们需要在代码中引入java.uti

如何使用Scanner类的nextDouble()方法从用户输入中读取浮点数在Java中,Scanner类是一个非常常用的类,用于从用户输入中读取数据。Scanner类提供了许多不同的方法,可以读取不同类型的数据。其中,nextDouble()方法可以用于读取浮点数。下面是一个简单的示例代码,展示了如何使用Scanner类的nextDouble()方法从用户

Java文档解读:Scanner类的useLocale()方法用法解析,需要具体代码示例介绍在Java中,Scanner类是一个强大的工具,它可以用来读取用户输入或从文件中读取数据。Scanner类提供了许多方法来解析输入流,其中之一就是useLocale()方法。useLocale()方法是Scanner类的一个重载方法,它用于设置Scanner对象使用的

在 Java 中,Scanner 类可用于实现回车继续的功能。该类从标准输入中读取用户输入。以下示例展示了如何使用 Scanner 类实现此功能: ```java import java.util.Scanner; public class ContinueOnEnter { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Syste
