如何将前导零添加到int?

时间:2014-07-18 04:57:45

标签: java

如果我输入一个int值,是否可以保持前导零。例如,如果我输入0123,有没有办法传递该零而不格式化数据。 我在一个网站上遇到了一个练习,要求输入一个isbn数字作为int并验证它。给出的初始代码如下。

import java.util.Scanner;

public class isbncheck {

    public static void main(String[] args) { 
        int num= 0;
        int digit = 0;
        int sum = 0;

        System.out.println("Enter ISBN Number:");
        Scanner sc = new Scanner(System.in);

        num = sc.nextInt();

        /*
        Your code here
        */

        System.out.println("The ISBN number is:");
    }
}

该网站的链接是http://www.programmr.com/challenges/isbn-validation-1

如果我想取一个输入的第一个数字并用它做一些事情,我不能,如果第一个整数是0.要测试代码,输入是0201314525.但是我失去了初始零,然后我不能使代码工作。我使用String输入而不是int,然后我可以操作来做我想要的。是否可以按照呈现方式完成代码?

2 个答案:

答案 0 :(得分:1)

您需要将值保存为String。无论如何,你应该使用像ISBN号这样的东西,因为它的值不是它的大小,而是它的字符串表示。

为什么不使用“String num = sc.next();”?

答案 1 :(得分:0)

没有。 int不能固有地格式化,您可以将其存储为字符串。或者您需要String#format() int有前导零,

String isbn = String.format("%013d", num); // 0 fill to 13 digits num