如何在Java中读取用户用空格分隔的输入?
输入和输出是所有编程语言的重要组成部分。Java也不例外。用户输入对于创建动态和交互式应用程序至关重要。通常输入是一个单值,但我们也可以读取用户用空格分隔的输入。本文介绍如何在Java中读取用户用空格分隔的输入。
在Java中读取用空格分隔的用户输入的方法
我们可以通过两种方法读取用户用空格分隔的输入。它们如下:
使用Scanner类
使用BufferedReader类,然后分割并解析单个值
Scanner类
使用Scanner类是读取用户用空格分隔的输入的一种方法。我们将使用Scanner类的方法。它位于java.util包中。Scanner类有很多方法可以读取用户输入。
Scanner类方法
| nextInt() | 用于读取并返回下一个整数值。 |
| nextFloat() | 用于读取并返回下一个浮点值。 |
| nextDouble() | 用于读取并返回下一个双精度值。 |
| next() | 用于读取并返回下一个单词值作为字符串。 |
| nextLine() | 用于读取并返回多个单词值作为字符串。 |
| nextLong() | 用于读取并返回下一个长整数值。 |
| nextShort() | 用于读取并返回下一个短整数值。 |
| nextByte() | 用于读取并返回下一个字节值。 |
| nextBoolean() | 用于读取并返回下一个布尔值。 |
步骤
我们将在这里使用nextFloat()方法来理解如何读取用户用空格分隔的输入。这些步骤可以应用于上面提到的其他方法。
nextFloat()方法将扫描用户输入
输入将存储在数组中
示例
以下是用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
解释
在上面的代码中,我们创建了一个Scanner对象。由于我们想要读取用空格分隔的输入,因此我们使用循环迭代8次,允许用户使用Scanner类的nextFloat()方法逐个输入值。每个输入值都存储在val数组的相应索引中。
BufferedReader类
使用BufferedReader类,代码通过读取一行,将其分割成单个值,然后解析单个值来读取用户输入。这是最原始的方法,BufferedReader类位于java.io包中。
readLine()方法用于读取一行并将其存储为字符串。如果必须将字符串转换为其他数据类型,则必须显式类型转换。
步骤
我们将使用BufferedReader类中的readLine()方法来扫描包含空格的字符串。
我们将使用split()方法(以空格作为参数)分割字符串。
现在,由于输入是字符串数组的形式,如果所需的数据类型不同,我们可以进行转换。
示例
以下是用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
解释
在上面的代码中,我们创建了一个BufferedReader类。因此,BufferedReader类中的readLine()方法扫描包含空格的字符串。然后我们将字符串分割成单个值,然后解析这些值。
因此,我们了解了如何在Java中读取用户用空格分隔的输入。我们可以根据自己的偏好和需求使用Scanner类或BufferedReader类来读取输入。这使我们能够创建更灵活的程序。
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP