Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符串函数,用于接受10位手机号码,丢弃任何少于10位的号码,并在开始处修剪零_Java - Fatal编程技术网

Java 字符串函数,用于接受10位手机号码,丢弃任何少于10位的号码,并在开始处修剪零

Java 字符串函数,用于接受10位手机号码,丢弃任何少于10位的号码,并在开始处修剪零,java,Java,当我们输入类似“00982787878”(有9位数字和零)的“否”时,在零被修剪后不应显示输出 问题: while循环中存在一些问题,因为输出是一个只修剪了一个0的数字 代码: 公共静态字符串trimzero(字符串编号) { 布尔exitLoop=true; 整数计数=0; while(exitLoop&&mobNumber.substring(count)=“0”) mobNumber=mobNumber.substring(0); if(mobNumber.charAt(计数)!='0')

当我们输入类似“00982787878”(有9位数字和零)的“否”时,在零被修剪后不应显示输出

问题: while循环中存在一些问题,因为输出是一个只修剪了一个0的数字

代码:
公共静态字符串trimzero(字符串编号)
{
布尔exitLoop=true;
整数计数=0;
while(exitLoop&&mobNumber.substring(count)=“0”)
mobNumber=mobNumber.substring(0);
if(mobNumber.charAt(计数)!='0')
{
exitLoop=false;
}
计数++;
mobNumber=mobNumber.replaceAll(“,”);
mobNumber=mobNumber.length()<10?mobNumber.substring(mobNumber
.length()):mobNumber.substring(mobNumber.length()-10);
返回号码;
}

如果我正确理解了您的问题:

public static String trimZeros(String number) {

    //trim zeros at left
    number = number.replaceAll("^0*", "");

    //if the length is < 10, returns an empty string
    if (number.length() < 10) {
        return "";
    }

    //if the length is > 10, trims any number at left
    if (number.length() > 10) {
        number = number.replaceAll(".*(\\d{10})$", "$1");
    }

    return number;
}
公共静态字符串零(字符串编号){
//在左边修剪零
number=number.replaceAll(“^0*”,”);
//如果长度小于10,则返回空字符串
if(number.length()<10){
返回“”;
}
//如果长度>10,则修剪左侧的任何数字
如果(number.length()>10){
number=number.replaceAll(“*(\\d{10})$”,“$1”);
}
返回号码;
}

那么,您有什么问题吗?为什么要删除电话号码中的数字?这没有意义-您正在更改数字。不要将字符串与==进行比较。您在这里面临的问题是什么不,它不应该引发任何异常,它不应该显示任何内容。此外,如果编号大于10@hotshot02因此,只需将
throw
替换为
return”“然后呢?还有,
!=10
包含长度超过10位的数字。我还是不明白弄乱电话号码有什么用。
public static String trimZeros(String number) {

    //trim zeros at left
    number = number.replaceAll("^0*", "");

    //if the length is < 10, returns an empty string
    if (number.length() < 10) {
        return "";
    }

    //if the length is > 10, trims any number at left
    if (number.length() > 10) {
        number = number.replaceAll(".*(\\d{10})$", "$1");
    }

    return number;
}