📜  如何在java中获取数组作为输入(1)

📅  最后修改于: 2023-12-03 14:52:46.123000             🧑  作者: Mango

如何在Java中获取数组作为输入

在Java中,我们经常需要从用户输入中获取数组,本文将介绍如何在Java中获取数组作为输入。

1. 从命令行获取数组输入

Java中可以使用Scanner类来从命令行获取用户输入。下面是一个示例代码,演示如何从命令行获取一个包含n个整数的数组:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = scanner.nextInt();
        }
        scanner.close();
        //do something with arr
    }
}

在上面的代码中,我们首先使用Scanner.nextInt()方法从命令行获取数组的长度n。然后创建一个长度为n的数组,并使用for循环逐一读取数组中的每一个元素。

2. 从文件中获取数组输入

Java中可以使用BufferedReader类来从文件中读取输入。下面是一个示例代码,演示如何从文件中获取一个包含n个整数的数组:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new FileReader("input.txt"))) {
            int n = Integer.parseInt(br.readLine());
            String[] input = br.readLine().split(" ");
            int[] arr = new int[n];
            for (int i = 0; i < n; i++) {
                arr[i] = Integer.parseInt(input[i]);
            }
            //do something with arr
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的代码中,我们首先使用BufferedReader.readLine()方法从文件中读取数组的长度n。然后使用readLine()方法再次读取一行输入,并使用split()方法将字符串拆分为一个字符串数组。最后,我们使用for循环将每个字符串转换为整数,并放入数组中。

3. 从命令行和文件中获取多维数组输入

如果要获取多维数组输入,可以使用Scanner和BufferedReader结合使用。下面是一个示例代码,演示如何获取一个包含n个m维整数数组的输入:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new FileReader("input.txt"))) {
            Scanner scanner = new Scanner(System.in);
            int n = scanner.nextInt();
            int m = scanner.nextInt();
            int[][] arr = new int[n][m];
            for (int i = 0; i < n; i++) {
                String[] input = br.readLine().split(" ");
                for (int j = 0; j < m; j++) {
                    arr[i][j] = Integer.parseInt(input[j]);
                }
            }
            scanner.close();
            //do something with arr
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的代码中,我们首先使用Scanner.nextInt()方法从命令行获取数组的宽度和长度。然后使用BufferedReader.readLine()方法从文件中读取每一行输入,并使用split()方法将字符串拆分为一个字符串数组。最后,使用for循环将每个字符串转换为整数,并放入多维数组中。

结论

本文介绍了从命令行和文件中获取数组输入的方法。无论你需要获取一维数组、多维数组,还是从不同来源获取输入,都可以轻松地通过这些方法获取输入。