用于在字符串

时间:2018-06-12 05:14:55

标签: java arrays

public static void main(String[] args) {
        String str = "XXYZZA";

        char[] a = str.toCharArray();
        int count=0;
        for (int i = 0; i < a.length; i++) 
        {
            if (a[i] == a[i++]) 
            {
                count++;

            } 
            else
                System.out.println(a[i++]);

        }

    }

&#34; else&#34;中的print语句部分未被执行。 所需的输出应该是

Y
A

2 个答案:

答案 0 :(得分:2)

好的,首先,最好的,适当的缩进,请帮助理解代码。

其次,由于2个原因,if (a[i] == a[i++])不是正确的方法

  1. 您的for循环将开始跳过 i 值,因为您使用的是一元运算符,它将直接对操作数执行 即可。
  2. ArrayIndexOutOfBounds :一旦您的a.length - 1达到最大值,您的测试条件i++将尝试访问索引 {{ 1}},正如你可能已经猜到的那样,它不存在。
  3. 您需要的是某种排序算法,而不实际保存已排序的序列。

答案 1 :(得分:0)

试试这样,可以帮到你

a.length