Java 比较字符串的位数是否相同

Java 比较字符串的位数是否相同,java,Java,我试图比较两个不同的字符串。但我不是在看它们是否有,它们是否完全相同,我是在看它们是否包含相同数量的数字 例如: 如果我输入了字符串b=1234567891234567并且我输入了字符串a=abcdefghijklmnop,我想知道它们的位数是否相同 import java.util.*; class Test{ public static void main(String[] args){ Scanner lector = new Scanner(System.in

我试图比较两个不同的字符串。但我不是在看它们是否有,它们是否完全相同,我是在看它们是否包含相同数量的数字

例如: 如果我输入了
字符串b=1234567891234567
并且我输入了
字符串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语句,程序将比较输入的字符串是否与另一个字符串完全相同

我希望有人能帮助我


谢谢

您可以使用以下方法提取数字:

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");
    }
}

您可以使用以下方法提取数字:

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");
    }
}

如果必须检查字符串的长度,只需使用

a.length() == b.length()

如果必须检查字符串的长度,只需使用

a.length() == b.length()

请首先提供工作代码,我想知道,如果我花时间帮助你,我也不必帮助你克服语法错误。“数字”是指“字符”吗?请首先提供工作代码,我想知道,如果我花时间帮助你,我也不必帮助你克服语法错误。通过“数字”你是说“字符”吗?当它问我:输入你的号码,我输入:abcdefghijkmnlop执行此操作后,会显示消息:它们的位数不相同。如果你同时计算1234567891234567和abcdefghijkmnlop两个值,它们的数字量是相同的。这里的混淆在于使用“数字”而不是“字符”。Nick在这里的回答确实检查了数字的数量是否相同,但没有检查字符的数量,这是您想要的。“数字”是数字,从1到0。“字符”是字符串中的任何符号——字母、数字、标点符号等等。当它问我:输入您的号码,我输入:abcdefghijkmnlop执行此操作后,将显示消息:它们的位数不相同。如果你同时计算1234567891234567和abcdefghijkmnlop两个值,它们的数字量是相同的。这里的混淆在于使用“数字”而不是“字符”。Nick在这里的回答确实检查了数字的数量是否相同,但没有检查字符的数量,这是您想要的。“数字”是数字,从1到0。“字符”是字符串中的任何符号——字母、数字、标点符号等等。