如果我输入一个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,然后我可以操作来做我想要的。是否可以按照呈现方式完成代码?
答案 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