我试图比较两个不同的字符串。但是我不知道他们是否完全一样,我在寻找它们是否含有相同数字的位数。
实施例:
我的String b = 1234567891234567
我输入了String a = abcdefghijklmnop
,我想知道他们是否有相同的位数,
import java.util.*;
class Test{
public static void main(String[] args){
Scanner lector = new Scanner(System.in);
String a;
String b = new String("1234567891234567");
System.out.println("Enter your number");
a = lector.nextLine();
if(a.length() == b.lenght()){
System.out.println("They have the same number of digits");
}else{
System.out.println("They dont have the same number of digits");
}
}
}
我知道我不能使用==
因为它们是整数。如果我使用equals语句,程序将比较输入的字符串是否与其他字符串完全相同。
我希望有人可以帮助我。
由于
答案 0 :(得分:3)
您可以使用以下内容提取数字:
str.replaceAll("\\D+","");
然后比较字符串的长度。
对于你的例子:
public static void main(String[] args){
Scanner lector = new Scanner(System.in);
String a;
String b = new String("1234567891234567");
System.out.println("Enter your number");
a = lector.nextLine();
if(a.replaceAll("\\D+","").length() == b.replaceAll("\\D+","").length()){
System.out.println("They have the same number of digits");
}else{
System.out.println("They dont have the same number of digits");
}
}
答案 1 :(得分:2)
如果你必须检查字符串的长度,那么只需使用
a.length() == b.length()