【发布时间】:2014-09-09 03:32:31
【问题描述】:
如果我输入一个 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,然后我可以操纵它来做我想做的事。是否可以根据呈现方式完成代码?
【问题讨论】:
-
我猜即使转换为 int 时的字符串输入也会删除那些零!
-
如果对象要验证某些用户输入,您需要将输入保留为字符串。然后,您可以对字符串执行验证,例如该值是否为整数。
-
应该可以,以后格式化。看看this question我把你的问题标记为重复,但现在我不太确定
-
其他人都说了什么,我只是补充一下结论:不,该代码无法完成以按原样满足要求。但这也是一个学习的时刻;网络也充满了废话。尽量坚持使用信誉良好的来源获取信息和指导。
-
感谢您的回答。我也认为不能那样做。我做了 myinput.nextString()。然后我逐个字符地操作字符串字符 string.chartAt() 以获得不同的数字。
标签: java