首页 > 解决方案 > Java中的字符串数组迭代

问题描述

在这个 java 程序中,我试图为我的字符串数组不取元素 (n),然后迭代那么多次以在我的字符串数组中插入值。但是插入不会到达结束并且不会执行最后一次迭代。例如,如果 n=3 则它应该迭代三次(0,1,2)以进行插入,但它只执行两次。请帮忙理解。enter code here

import java.util.*;
public class Main
{
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String[] arr=new String[60];
        System.out.println("Enter no of elements");
        int n=sc.nextInt();
        for(int i=0;i<n;i++) {
            arr[i]=sc.nextLine();
        }
        for(int i=0;i<n;i++)
        System.out.println(arr[i]);
    }
}

标签: javaarraysstringiterationjava.util.scanner

解决方案


所以我假设您每次都在新行中输入您的输入(包括元素数量的值)。您可以做的就是坚持使用.nextLine(),然后将其转换int为您的n变量,如下所示。

import java.util.*;
public class Main
{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] arr=new String[60];
        System.out.println("Enter no of elements");
        int n = Integer.parseInt(sc.nextLine());
        for(int i = 0;i < n; i++) {
            arr[i] = sc.nextLine();
        }
        for(int i = 0; i < n; i++)
        System.out.println(arr[i]);
    }
}

推荐阅读