比较java中的两个字符

Man*_*san 2 java

   import java.util.Scanner;

    public class Main {
    private static Scanner scan;
    private static int n;
    private static int b[];
    private static String a1;
    private static String a2;
    private static int t[];

    public static void main(String s[]) {
        scan = new Scanner(System.in);
        n = scan.nextInt();
        b = new int[n];
        t = new int[n];
        for (int i = 0; i < n; i++) {
            b[i] = scan.nextInt();
        }

        a1 = scan.next();
        a2 = scan.next();

        for (int i = 0; i < n; i++) {
            Character c = a1.charAt(i);
            Character c2 = a2.charAt(i);
            if (c.equals("G")) {
                if (c2.equals("G")) {
                    System.out.println(i);
                }
            }
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我得到n值(即)袋数.然后苹果在每个袋子里.为此,我正在使用for循环.然后两个字符串.字符串应该是'G'或'B',(例如)'GGGBG'(G代表Good,B代表Bad).

考虑这两个字符串来自不同人对袋中苹果的看法.如果两个String在同一位置包含"G",则代码应显示该位置.

但是,它没有用.我试图运行此代码.输入部分正在工作.之后,它在屏幕上不显示任何内容.

And*_*eas 6

charAt(i)返回a char,而不是Character,虽然编译器会自动将其合并为一个.

然而,Character就是从来不等于String.

你的代码应该是:

for (int i = 0; i < n; i++) {
    char c1 = a1.charAt(i);
    char c2 = a2.charAt(i);
    if (c1 == 'G' && c2 == 'G') {
        System.out.println(i);
    }
}
Run Code Online (Sandbox Code Playgroud)