当前位置:首页 > Java

java中如何输入数组

2026-02-04 23:33:20Java

输入数组的方法

在Java中,输入数组可以通过多种方式实现,具体取决于输入源(如控制台、文件等)和需求。以下是几种常见的方法:

从控制台读取固定长度的数组

使用Scanner类从控制台读取用户输入的数组元素。假设数组长度已知:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("输入数组长度: ");
        int n = scanner.nextInt();
        int[] arr = new int[n];

        System.out.println("输入数组元素: ");
        for (int i = 0; i < n; i++) {
            arr[i] = scanner.nextInt();
        }

        System.out.println("输入的数组: ");
        for (int num : arr) {
            System.out.print(num + " ");
        }
        scanner.close();
    }
}

从控制台读取不定长度的数组(以空格分隔)

如果输入是一行以空格分隔的数字,可以通过split方法拆分字符串:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入数组元素(以空格分隔): ");
        String input = scanner.nextLine();
        String[] parts = input.split(" ");
        int[] arr = new int[parts.length];

        for (int i = 0; i < parts.length; i++) {
            arr[i] = Integer.parseInt(parts[i]);
        }

        System.out.println("输入的数组: ");
        for (int num : arr) {
            System.out.print(num + " ");
        }
        scanner.close();
    }
}

使用命令行参数输入数组

通过命令行参数传递数组元素:

public class Main {
    public static void main(String[] args) {
        int[] arr = new int[args.length];
        for (int i = 0; i < args.length; i++) {
            arr[i] = Integer.parseInt(args[i]);
        }

        System.out.println("输入的数组: ");
        for (int num : arr) {
            System.out.print(num + " ");
        }
    }
}

运行命令示例:

java Main 1 2 3 4 5

从文件读取数组

如果数组数据存储在文件中,可以使用BufferedReader读取:

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
        String line = reader.readLine();
        String[] parts = line.split(" ");
        int[] arr = new int[parts.length];

        for (int i = 0; i < parts.length; i++) {
            arr[i] = Integer.parseInt(parts[i]);
        }

        System.out.println("输入的数组: ");
        for (int num : arr) {
            System.out.print(num + " ");
        }
        reader.close();
    }
}

使用动态数据结构(如ArrayList

如果输入长度不确定,可以先用ArrayList存储,再转换为数组:

java中如何输入数组

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<Integer> list = new ArrayList<>();
        System.out.println("输入数组元素(每行一个,输入非数字结束): ");

        while (scanner.hasNextInt()) {
            list.add(scanner.nextInt());
        }

        int[] arr = new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            arr[i] = list.get(i);
        }

        System.out.println("输入的数组: ");
        for (int num : arr) {
            System.out.print(num + " ");
        }
        scanner.close();
    }
}

注意事项

  • 输入时需确保数据类型匹配,避免输入非数字导致异常。
  • 使用try-catch处理可能的输入异常(如NumberFormatException)。
  • 对于大规模数据输入,建议使用文件或缓冲流以提高效率。

标签: 数组java
分享给朋友:

相关文章

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…

java如何生成随机数

java如何生成随机数

生成随机数的方法 在Java中生成随机数可以通过多种方式实现,以下是几种常见的方法: 使用Math.random()方法 Math.random()方法返回一个double类型的伪随机数,范围在[0…

java如何获取当前时间

java如何获取当前时间

获取当前时间的方法 在Java中,可以通过多种方式获取当前时间。以下是几种常见的方法: 使用 java.util.Date Date currentDate = new Date(); Syste…

java如何处理高并发

java如何处理高并发

Java处理高并发的方法 使用多线程和线程池 Java的java.util.concurrent包提供了线程池(如ThreadPoolExecutor)和并发工具类(如CountDownLatch、C…

如何阅读java源码

如何阅读java源码

阅读Java源码的方法 选择合适的源码项目 初学者建议从JDK核心类库(如java.lang、java.util)或知名开源项目(如Spring、Guava)入手。选择文档完善、社区活跃的项目能降低理…

教你如何完全卸载java

教你如何完全卸载java

卸载 Java 的步骤 Windows 系统 打开控制面板,选择“程序和功能”或“卸载程序”。在列表中找到 Java 相关的条目,通常显示为“Java”或“Java(TM)”。右键点击选择卸载,按照…