为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

元芳怎么了 2021-11-17 10:31:14
我有一个学校的作业,但我被困住了,可以使用一些技巧。任务是我需要制作一个数组,并让用户使用扫描仪和循环将数据放入数组中。如果用户在扫描仪中放入一个空字符串,扫描仪应该停止并打印出数组。此外,数组的长度不能超过 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 个字符串放入数组中,它会自动停止扫描仪并打印出阵列。
查看完整描述

3 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

如果不允许使用Listthen 循环遍历数组中包含值的每个元素,并i使用所有这些元素创建一个新数组(大小为)。


    Scanner scanner = new Scanner(System.in);

    String[] arrayList = new String[25];

    String input;

    int i = 0;


    for (input = scanner.nextLine(); (!input.isEmpty() && i < 25); input = scanner.nextLine()) {

        arrayList[i] = input;

        i++;

    }


    String[] newArrayList = new String[i];


    int index = 0;

    for (String element : arrayList) {

        if (element == null)

            continue;

        newArrayList[index] = element;

        index++;

    }


查看完整回答
反对 回复 2021-11-17
?
POPMUISE

TA贡献1765条经验 获得超5个赞

如果您不能使用 a List,则可以使用Arrays.copyOf()和i将与用户输入的元素一样多的元素复制到新的Array. 此外,您实际上并没有检查以确保i小于 25。确保您检查循环:


for (input = scanner.nextLine(); !input.isEmpty() && i < 25; input = scanner.nextLine()) {

    arrayList[i] = input;

    i++;

}

String[] temp = Arrays.copyOf(arrayList, i);

System.out.println(Arrays.toString(temp));


查看完整回答
反对 回复 2021-11-17
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

您可以使用 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()) {

    arrayList.add(input);

    i++;

}

System.out.println(arrayList);

并且System.out.println会给你一个这样的输出:


[Hello, World!]


查看完整回答
反对 回复 2021-11-17
  • 3 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信