如何解决charAtequals导致“无法取消引用char”
如果您使用类似的方法,它将起作用:
if (raw.charAt(3) == '-' && raw.charAt(7) == '-') {
System.out.println("2 Hyphens at 3 and 7");
} else if (raw.charAt(3) == '-' && raw.charAt(8) == '-') {
System.out.println("2 Hyphens at 3 and 8");
} else if (raw.charAt(3) == '-' && raw.charAt(9) == '-') {
System.out.println("2 Hyphens at 3 and 9");
}
问题是raw.charAt(n)
返回a char
而不是aString
。该equals()
方法只能用于对象。Char是没有方法的原始数据类型。在char上,您应该使用==
或运算符!=
。
解决方法
我正在尝试检查字符串在不同位置处的连字符(对于电话号码,因为输入有所不同),但是我一直收到错误消息
不能取消引用char
码:
do {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter String");
String raw = br.readLine();
if (raw.length() < 10) {
System.out.println("");
System.out.println("Please input a valid phone number of at least 10 digits/letters");
System.out.println("");
} else {
if (raw.charAt(3).equals('-') && raw.charAt(7).equals('-')) {
System.out.println("2 Hyphens at 3 and 7");
} else if (raw.charAt(3).equals('-')
&& raw.charAt(8).equals('-')) {
System.out.println("2 Hyphens at 3 and 8");
} else if (raw.charAt(3).equals('-')
&& raw.charAt(9).equals('-')) {
System.out.println("2 Hyphens at 3 and 9");
}
}
} while (1 < 2);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。