我的代码收到错误消息,请帮忙。我的错误是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;
}
}
}
}
答案 0 :(得分:3)
您不能在原始类型上调用任何方法,其中char
是一个。要比较相等性,可以使用==
,就像数字基元一样。
if (charAt == alphbets[i])
这与使用String
的{{1}}形成鲜明对比。