目录
Example
示例
输出
Explanation
解释
语法
首页 Java java教程 如何在Java中接受用户输入?

如何在Java中接受用户输入?

Sep 08, 2023 pm 02:21 PM
scanner类 输入流(input stream) bufferedreader类

如何在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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何在Java中接受用户输入? 如何在Java中接受用户输入? Sep 08, 2023 pm 02:21 PM

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

Java文档解读:Scanner类的hasNextInt()方法用法解析 Java文档解读:Scanner类的hasNextInt()方法用法解析 Nov 04, 2023 am 08:12 AM

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

如何使用Scanner类的hasNextLine()方法检查用户输入中是否还有下一行 如何使用Scanner类的hasNextLine()方法检查用户输入中是否还有下一行 Jul 26, 2023 pm 06:13 PM

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

如何使用Scanner类的findInLine()方法在用户输入中查找指定的字符串 如何使用Scanner类的findInLine()方法在用户输入中查找指定的字符串 Jul 24, 2023 am 09:23 AM

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

Java利用Scanner类的nextInt()函数获取控制台输入的整数值 Java利用Scanner类的nextInt()函数获取控制台输入的整数值 Jul 24, 2023 pm 08:48 PM

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

如何使用Scanner类的nextDouble()方法从用户输入中读取浮点数 如何使用Scanner类的nextDouble()方法从用户输入中读取浮点数 Jul 24, 2023 pm 08:27 PM

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

Java文档解读:Scanner类的useLocale()方法用法解析 Java文档解读:Scanner类的useLocale()方法用法解析 Nov 04, 2023 pm 01:29 PM

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

java怎样用回车继续输入 java怎样用回车继续输入 Mar 25, 2024 am 10:23 AM

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

See all articles