Java从控制台输入数组

在Java中,我们可以通过控制台输入来获取用户的输入。如果需要从控制台输入一个数组,我们可以使用一些方法来实现。

方法一:使用Scanner类

Scanner类是Java中常用的用于读取用户输入的类。我们可以使用Scanner类从控制台读取数组的元素,并将其存储在一个数组中。

首先,我们需要导入Scanner类:

import java.util.Scanner;

然后,我们可以创建一个Scanner对象,并使用它来读取用户输入的数组元素。

Scanner scanner = new Scanner(System.in);

// 获取数组的长度
System.out.println("请输入数组的长度:");
int length = scanner.nextInt();

// 创建一个数组
int[] array = new int[length];

// 读取数组的元素
System.out.println("请输入数组的元素:");
for (int i = 0; i < length; i++) {
    array[i] = scanner.nextInt();
}

在上述代码中,我们首先通过Scanner对象获取用户输入的数组长度,并创建一个相应长度的数组。然后,使用循环逐个读取用户输入的数组元素,并将其存储在数组中。

方法二:使用BufferedReader类

除了Scanner类,我们还可以使用BufferedReader类来从控制台读取数组的元素。

首先,我们需要导入BufferedReader类和IOException:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

然后,我们可以创建一个BufferedReader对象,并使用它从控制台读取用户输入的数组元素。

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

// 获取数组的长度
System.out.println("请输入数组的长度:");
int length = Integer.parseInt(reader.readLine());

// 创建一个数组
int[] array = new int[length];

// 读取数组的元素
System.out.println("请输入数组的元素:");
for (int i = 0; i < length; i++) {
    array[i] = Integer.parseInt(reader.readLine());
}

在上述代码中,我们首先通过BufferedReader对象获取用户输入的数组长度,并创建一个相应长度的数组。然后,使用循环逐个读取用户输入的数组元素,并将其存储在数组中。

方法三:使用命令行参数

除了从控制台读取数组元素,我们还可以通过命令行参数传递数组元素。

在Java中,我们可以通过main方法的参数来传递命令行参数。main方法的参数是一个字符串数组,其中的每个元素都是一个命令行参数。

public static void main(String[] args) {
    // 获取数组的长度
    int length = args.length;

    // 创建一个数组
    int[] array = new int[length];

    // 将命令行参数转换成整数并存储在数组中
    for (int i = 0; i < length; i++) {
        array[i] = Integer.parseInt(args[i]);
    }
}

在上述代码中,我们首先通过args.length获取命令行参数的个数,并创建一个相应长度的数组。然后,使用循环逐个将命令行参数转换为整数,并将其存储在数组中。

总结

本文介绍了三种方法来从控制台输入数组元素:使用Scanner类、使用BufferedReader类和使用命令行参数。这些方法都可以帮助我们从控制台获取用户输入的数组,并将其存储在一个数组中供后续使用。

使用Scanner类和BufferedReader类可以让我们在运行程序时与用户进行交互,从而获取用户输入的数组元素。而使用命令行参数,则可以在运行程序时通过命令行传递数组元素。

总之,无论是使用哪种方法,我们可以根据实际需求选择最合适的方法来从控制台输入数组,并在程序中进行处理。

参考链接

  • [Java Scanner类文档](
  • [Java BufferedReader类文档](