当前位置: 首页 > 知识库问答 >
问题:

运行时Error_String索引超出限制Exception_Printing字符串奇数和偶数索引

茅华灿
2023-03-14

代码:

导入 java.io;导入爪哇.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);
            }
}

}

ISsue:运行代码时设置运行时异常--

共有1个答案

宗政霄
2023-03-14

你可以试试下面的代码。是因为在< code>sc.nextLine()之前调用了< code>nextInt()这样的方法

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

您需要在调用下一线()之前使用“\n”,或者您也可以直接调用下一线()以获取数组大小。

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);
        }
    }
 类似资料:
  • 问题内容: 因此,我正在编写一个简单的程序来输入字符串并计算总数。的米 所以,这是我的代码 where 和str是我接受过的字符串,但是此错误不断出现 这是什么错误以及如何将其删除? 问题答案: 字符串,有效索引从0到n-1; 更改 至

  • 问题内容: 嗨,我编写了Java代码来查找由其他单词组成的最长单词。我的逻辑是从文本文件中读取单词列表,并将每个单词添加到一个数组中(在文本中,单词被排序,并且每行中只有一个单词)之后,我们检查数组中的每个元素是否具有其他元素作为子字符串。如果是这样,我们计算子字符串的数量。具有最大子串数的元素将是结果 当我给一个只有两个单词的文本文件时,代码正在运行。但是,当有两个以上的单词时,我将出现以下错误

  • 问题内容: 我猜我正在收到此错误,因为字符串正在尝试对值进行子字符串化。但是那部分不能消除这个问题吗? 这是Java代码段: 我收到此错误: 问题答案: 我猜我正在收到此错误,因为字符串试图将Null值作为子字符串。但是“ .length()> 0”部分不能消除该问题吗? 不,在itemdescription为null时调用itemdescription.length()不会生成StringInd

  • 问题内容: 我正在编写一个打开文本文件并检查注释的程序。然后,它解析注释以检查某些单词。 错误im出现在以下while循环中,该循环检查是否当前行以空格或除’/’以外的其他字符开头,如果那里存在非反斜杠字符,则while循环移至下一行并检查再次。一旦while循环满足其要求并中断程序崩溃,我将收到以下输出错误。 这是有问题的代码示例 谢谢你的帮助。我确定这是一个简单的错误,但我只是看不到它。 问题

  • 我有一个关于字符串3中codingbat的问题。问题如下: 给定一个字符串,在给定字符串的开头和结尾寻找镜像(向后)字符串。换句话说,在给定字符串的开头和字符串的末尾以相反的顺序(可能重叠)为零或多个字符。 例如,字符串“abXYZba”具有镜像结尾“ab” mirrorEnds(“abXYZba”)→ “ab” MirrorEnds("abca")→"a" MirrorEnds("aba")→"