我想知道为什么它不起作用,为什么我不能将CHAR数据类型用于变量a和b。关键是,如何相应地比较数字(pr)的第一个和最后一个数字。
String a, b;
for (int i=100; i<1000;i++) {
for (int j=100; j<1000;j++) {
pr=j*i;
a = String.valueOf(pr).substring(0, 1);
b= String.valueOf(pr).substring(4, 5);
if ((a==b) ) {
System.out.println(pr);
}
}
}
答案 0 :(得分:3)
使用equals
个功能
a.equals(b)
如果您想忽略大小写,请使用
a.equalsIgnoreCase(b)
答案 1 :(得分:1)
这不是使用==
进行字符串比较的JavaScript。
答案 2 :(得分:1)
在Java中,运算符==
比较对象标识,因此如果有两个String类型的对象具有相同的内容,==
将为它们返回false:
String x = new String ("foo");
String y = new String ("bar");
if (x == y)
System.out.println ("Equal");
else
System.out.println ("Now equal"); // This will be printed
为了按内容而不是按身份比较String对象,您需要使用equals()
方法,如下所示:
if (x.equals (y))
System.out.println ("Equal"); // This will be printed
else
System.out.println ("Now equal");
请注意,如果x
为null
,则x.equals (y)
会抛出NullPointerException
而x == y
将false
返回y
null
如果true
为y
,则不是null
和NullPointerException
。要防止if (x == null && y == null || x != null && x.equals (y))
System.out.println ("Equal"); // This will be printed
else
System.out.println ("Now equal");
,您需要执行以下操作:
{{1}}