java数组的问题。使其具有一定的大小并让用户将数据输入到数组中

我有一个学校的作业,但我被困住了,可以使用一些技巧。


任务是我需要制作一个数组,并让用户使用扫描仪和循环将数据放入数组中。如果用户在扫描仪中放入一个空字符串,扫描仪应该停止并打印出数组。此外,数组的长度不能超过 25。


public class invoerOpslaan {

public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    String[] arrayList = new String[25];

    String input;

    int i = 0;


    for (input = scanner.nextLine(); !input.isEmpty(); input = scanner.nextLine()) {

        arrayList[i] = input;

        i++;

    }

    System.out.println(arrayList[]);

}

我将我的数组设置为 25 长度,但我怎样才能让用户在数组中放入 15 个字符串,数组将是 15 而不是 25。如果用户将第 25 个字符串放入数组中,它会自动停止扫描仪并打印出阵列。


元芳怎么了
浏览 171回答 3
3回答

jeck猫

如果不允许使用Listthen 循环遍历数组中包含值的每个元素,并i使用所有这些元素创建一个新数组(大小为)。&nbsp; &nbsp; Scanner scanner = new Scanner(System.in);&nbsp; &nbsp; String[] arrayList = new String[25];&nbsp; &nbsp; String input;&nbsp; &nbsp; int i = 0;&nbsp; &nbsp; for (input = scanner.nextLine(); (!input.isEmpty() && i < 25); input = scanner.nextLine()) {&nbsp; &nbsp; &nbsp; &nbsp; arrayList[i] = input;&nbsp; &nbsp; &nbsp; &nbsp; i++;&nbsp; &nbsp; }&nbsp; &nbsp; String[] newArrayList = new String[i];&nbsp; &nbsp; int index = 0;&nbsp; &nbsp; for (String element : arrayList) {&nbsp; &nbsp; &nbsp; &nbsp; if (element == null)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; continue;&nbsp; &nbsp; &nbsp; &nbsp; newArrayList[index] = element;&nbsp; &nbsp; &nbsp; &nbsp; index++;&nbsp; &nbsp; }

POPMUISE

如果您不能使用 a List,则可以使用Arrays.copyOf()和i将与用户输入的元素一样多的元素复制到新的Array. 此外,您实际上并没有检查以确保i小于 25。确保您检查循环:for (input = scanner.nextLine(); !input.isEmpty() && i < 25; input = scanner.nextLine()) {&nbsp; &nbsp; arrayList[i] = input;&nbsp; &nbsp; i++;}String[] temp = Arrays.copyOf(arrayList, i);System.out.println(Arrays.toString(temp));

ABOUTYOU

您可以使用 anArrayList为您的代码提供动态大小数组。Scanner scanner = new Scanner(System.in);ArrayList<String> arrayList = new ArrayList<>();String input;int i = 0;for (input = scanner.nextLine(); !input.isEmpty(); input = scanner.nextLine()) {&nbsp; &nbsp; arrayList.add(input);&nbsp; &nbsp; i++;}System.out.println(arrayList);并且System.out.println会给你一个这样的输出:[Hello, World!]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java