如何在Java中接收用户以空格分隔的输入?

2023年 8月 28日 33.3k 0

如何在Java中接收用户以空格分隔的输入?

输入和输出是所有编程语言的重要组成部分,Java也不例外。用户输入对于创建动态和交互式应用程序非常重要。通常输入是单个值,但我们也可以从用户那里获取以空格分隔的输入。本文介绍了如何在Java中获取以空格分隔的用户输入。

在Java中以空格分隔的方式接受用户输入的方法

有两种方法可以从用户那里获取以空格分隔的输入。它们如下所示-

  • 使用Scanner类

  • 使用 BufferedReader 类,然后拆分和解析各个值

Scanner类

使用Scanner类是从用户获取以空格分隔的输入的一种方式。我们将使用Scanner类的方法。它位于java.util包中。Scanner类有许多方法可以获取用户输入

Scanner类的方法

翻译成中文为:

nextInt() 它用于读取并返回下一个整数值。
nextFloat() 它用于读取并返回下一个浮点数值。
nextDouble() 它用于读取并返回下一个双精度值。
next() 它用于读取并返回下一个单词值作为字符串。
nextLine() 它用于读取并返回下一个多个单词值作为字符串
nextLong() 它用于读取并返回下一个长整型值。
nextShort() nextShort() 它用于读取并返回下一个short值。
nextByte() 它用于读取并返回下一个字节的值。
nextBoolean() It is used to read and return the next Boolean value.

步骤

我们将在这里使用nextFloat()方法来理解如何从用户那里获取以空格分隔的输入。这些步骤可以应用于上面提到的其他方法

  • nextFloat()方法将扫描用户输入

  • 输入将被存储在一个数组中

Example

以下是使用Java中的Scanner类的示例,用于从用户那里获取以空格分隔的输入。

//import the java.util package
import java.util.*;

public class Main {
public static void main(String args[])
{
Scanner scn= new Scanner(System.in);
System.out.println("Enter 8 values ");

float[] val = new float[8];

//to store the input values
for (int i = 0; i < val.length; i++) {
val[i] = scn.nextFloat();
}
//print the values
System.out.println("The values are ");
for (int i = 0; i < val.length; i++) {
System.out.println(val[i]);
}
}
}

登录后复制

输出

以下是上述代码的输出

Enter 8 values
12 89 43 67 51 39 91 87
The values are
12.0
89.0
43.0
67.0
51.0
39.0
91.0
87.0

登录后复制

Explanation

的中文翻译为:

解释

在上面的代码中,我们创建了一个Scanner对象。由于我们想要从输入中获取以空格分隔的输入,我们使用了一个循环来迭代8次,允许用户使用Scanner类的nextFloat()方法逐个输入值。每个输入值都存储在val数组的相应索引中。

BufferedReader类

使用BufferedReader类,代码通过读取一行用户输入,将其拆分为单个值,然后解析单个值。这是一种最原始的方式,BufferedReader类位于java.io包中。

readLine()方法用于读取一行并将其存储为字符串。如果需要将字符串转换为其他数据类型,必须显式进行类型转换。

步骤

    我们将使用BufferedReader类中的readLine()方法来扫描包含空格的字符串

    我们将使用split()方法将字符串按空格拆分

  • 现在由于输入是以字符串数组的形式,如果所需的数据类型不同,我们可以进行转换。

Example

以下是使用Java中的BufferedReader类的示例,以空格分隔用户输入的内容。

//import the java.io package
import java.io.*;

class Main {

public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

//array
float num[] = new float[8];

System.out.println("Enter the string of values separated with spaces ");

//split the string
String[] val = br.readLine().split(" ");

//parse individual values
for (int i = 0; i < val.length; i++) {
num[i] = Integer.parseInt(val[i]);
}

System.out.println("The values are ");

//print
for (int i = 0; i < val.length; i++) {
System.out.println(num[i]);
}
}
}

登录后复制

输出

以下是上述代码的输出 -

Enter the string of values separated with spaces
12 13 14 15 18 19 17 16
The values are
12.0
13.0
14.0
15.0
18.0
19.0
17.0
16.0

登录后复制

Explanation

的中文翻译为:

解释

在上面的代码中,我们创建了一个BufferedReader类。因此,BufferedReader类中的readLine()方法可以扫描带有空格的字符串。然后,我们将字符串拆分为单个值,然后解析这些值。

因此,我们理解了如何在Java中接受用户以空格分隔的输入。使用Scanner类或BufferedReader类,我们可以根据我们的偏好和需求接受输入。这使我们能够创建更灵活的程序。

以上就是如何在Java中接收用户以空格分隔的输入?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论