我收到一条java错误消息

时间:2015-09-22 00:20:33

标签: java

我的代码收到错误消息,请帮忙。我的错误是if(charAt.equals(alphbets [i])){
我不明白为什么这是一个错误错误消息说“无法在原始类型char上调用equals(char)”

import java.util.Scanner;
public class ACSL1 {

public static void main(String[] args) {
    String Month = "January";
    int FirstInt = 0;
    int SecondInt = 0;
    int LastInt = 0;
    System.out.println(Month);
    String month[]={"January", "Feburuary", "March", "April",
                    "May","June","July","August", "September", 
                    "October", "November", "December"};
    char alphbets[]={'A', 'B', 'C', 'D', 'E', 'F', 'G','H','I','J','K','L','M',
                     'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V','W','X','Y','Z'};

    FirstInt = Month.length();

    for(int i = 0; i < month.length; i++) {
        if(Month.equals(month[i])) {
            SecondInt=i+1; 
             break;
        } 
    } 
    char charAt = Month.charAt(0);
    for(int i = 0; i < month.length; i++) {
    if(charAt.equals(alphbets[i])) {
            LastInt=i+1; 
             break;
        } 
    } 
}

}

1 个答案:

答案 0 :(得分:3)

您不能在原始类型上调用任何方法,其中char是一个。要比较相等性,可以使用==,就像数字基元一样。

if (charAt == alphbets[i])

这与使用String的{​​{1}}形成鲜明对比。