在此程序中,我想检查输入的数字是否为10位整数移动电话,如果我输入的值为0123456789,则可以正常工作,但是如果我输入的代码如5028608722则失败,程序正确,但是这里缺少某些东西或错误。

包装游戏;

import java.util.Scanner;

class Utility
{
    static boolean numberOrNot(String input)
    {
        try
        {
            int  i=Integer.parseInt(input);
            System.out.println(i);
        }
        catch(NumberFormatException ex)
        {
            return false;
        }
        return true;
    }
}

public class CheckMobileNumber
{
    public static void main(String[] args)
    {
        System.out.println("Enter your mobile number");

        Scanner sc = new Scanner(System.in);

        String input = sc.next();

        if(Utility.numberOrNot(input) && (input.length() == 10))
        {
            System.out.println("Good!!! You have entered valid mobile number");
        }
        else
        {
            System.out.println("Sorry!!!! You have entered invalid mobile number. Try again...");
        }
    }
}

最佳答案

尝试使用long(长整数)数据类型而不是int-我认为您空间不足:2 ^ 32 = 4,294,967,296。

快速浏览primitive data types

关于java - 检查输入的字符串是否为整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41092238/

10-12 03:43