杰瑞科技汇

Java如何输入字符串数组?

Java 输入字符串数组的方法

在Java中,有多种方式可以输入字符串数组,以下是几种常见的方法:

Java如何输入字符串数组?-图1
(图片来源网络,侵删)

使用Scanner类从控制台输入

import java.util.Scanner;
public class StringArrayInput {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 方法1:先输入数组长度,再逐个输入元素
        System.out.print("请输入数组长度: ");
        int n = scanner.nextInt();
        scanner.nextLine(); // 消耗换行符
        String[] arr1 = new String[n];
        System.out.println("请输入" + n + "个字符串:");
        for (int i = 0; i < n; i++) {
            arr1[i] = scanner.nextLine();
        }
        // 方法2:直接输入一行空格分隔的字符串
        System.out.print("请输入多个字符串,用空格分隔: ");
        String input = scanner.nextLine();
        String[] arr2 = input.split(" ");
        // 打印数组
        System.out.println("方法1的数组: " + Arrays.toString(arr1));
        System.out.println("方法2的数组: " + Arrays.toString(arr2));
        scanner.close();
    }
}

使用BufferedReader类从控制台输入

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BufferedReaderInput {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("请输入多个字符串,用逗号分隔: ");
        String input = reader.readLine();
        String[] arr = input.split(",");
        // 打印数组
        System.out.println("输入的数组: " + Arrays.toString(arr));
        reader.close();
    }
}

从文件中读取字符串数组

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileInput {
    public static void main(String[] args) {
        try (BufferedReader reader = new BufferedReader(new FileReader("input.txt"))) {
            String line;
            String[] arr = new String[0]; // 初始空数组
            while ((line = reader.readLine()) != null) {
                // 将每行添加到数组中
                arr = Arrays.copyOf(arr, arr.length + 1);
                arr[arr.length - 1] = line;
            }
            // 打印数组
            System.out.println("从文件读取的数组: " + Arrays.toString(arr));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用命令行参数输入

public class CommandLineArgs {
    public static void main(String[] args) {
        // args就是命令行参数数组
        System.out.println("命令行参数数组: " + Arrays.toString(args));
        // 使用示例:java CommandLineArgs hello world java
    }
}

注意事项

  1. 使用Scanner时,如果先调用nextInt()等数字读取方法,需要记得调用nextLine()来消耗换行符
  2. 从控制台输入时,split()方法可以指定分隔符(如空格、逗号等)
  3. 处理大文件时,建议使用缓冲读取(如BufferedReader)
  4. 关闭资源(如Scanner、BufferedReader)是好习惯,可以使用try-with-resources语句自动关闭

方法可以根据具体需求选择使用。

Java如何输入字符串数组?-图2
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇