【问题标题】:Run Time Error_String index out of bound Exception_Printing string odd and even indexes运行时错误_字符串索引超出范围异常_打印字符串奇偶索引
【发布时间】:2020-08-17 12:06:05
【问题描述】:

代码:

导入 java.io.; 导入 java.util.;

公共类解决方案{

public static void main(String[] args) {
    
    Scanner sc = new Scanner(System.in);

    int n = sc.nextInt();
    String[] sa = new String[n];
    for(int i=0;i<n;i++){

        sa[i] = sc.nextLine();
    }
        String odd="";
        String even="";
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<sa[i].length();j++)
            {
             if(j%2!=0){
               odd = odd+sa[j].charAt(j);
            }
            else {
                even = even+sa[j].charAt(j);
            }
       
            }
            System.out.println(odd+" "+even);
            }
}

}

问题:运行代码时出现运行时异常。 --> 字符串索引越界异常

【问题讨论】:

    标签: java string exception stringindexoutofbounds


    【解决方案1】:

    你可以试试下面的代码。这是因为在 sc.nextLine()

    之前调用了像 nextInt() 这样的方法

    问题是 nextInt() 不消耗 '\n',所以下一次调用 nextLine() 消耗它,然后等待读取下一个元素的输入。

    您需要在调用 nextLine() 之前使用 '\n' 或者您也可以直接调用 nextLine() 来获取数组大小。

    public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.println("Enter Array size");
            int n = Integer.parseInt(sc.nextLine());
            String[] sa = new String[n];
            for (int i = 0; i < n; i++) {
                System.out.println("Enter Element "+i);
                String val = sc.nextLine();
                sa[i]=val;
            }
            String odd = "";
            String even = "";
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < sa[i].length(); j++) {
                    if (j % 2 != 0) {
                        odd = odd + sa[j].charAt(j);
                    } else {
                        even = even + sa[j].charAt(j);
                    }
    
                }
                System.out.println(odd + " " + even);
            }
        }
    

    【讨论】:

    • 谢谢@Sagar Gangwal。它有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    相关资源
    最近更新 更多