用户输入时,代码不会存储两个零,而是存储一个 0 [重复]
Posted
技术标签:
【中文标题】用户输入时,代码不会存储两个零,而是存储一个 0 [重复]【英文标题】:Code wont store two zero's when input by the user, instead, stores a single 0 [duplicate] 【发布时间】:2016-10-07 16:21:54 【问题描述】:System.out.println("Please enter the minute(s) that you finished on (MM): ");
endMin = Integer.parseInt(input.nextLine());
当我将“00”作为输入输入几分钟时,它只在变量中存储“0”。
【问题讨论】:
您将数字与其字符串表示混淆了。input.nextLine()
很可能返回"00"
,但Integer.parseInt
返回int
,而不是字符串。 int
将包含值 0,当以标准形式呈现为字符串时为 "0"
。
将变量的类型设置为字符串,然后将它们解析为 int 以后工作吗?
传回给什么?请记住,我们只有上述信息可供使用。
@Maeleh 我们不能说。我们不知道您的申请。 int
的值将是 0
。
【参考方案1】:
为此,您需要将输入的数字保留为字符串。你已经这样做了,所以为了也有一个 int 你可以实际使用你可以让endMin
保持一个字符串(而不是将它转换为一个 int)和类似endMinInt
的东西是转换为一个 int 的值。这样你仍然可以进行你需要的计算,但你也可以准确地告诉用户他们稍后输入的内容(这是我能想到的唯一原因)
String endMin;
int endMinInt;
System.out.println("Please enter the minute(s) that you finished on (MM): ");
endMin = input.nextLine();
endMinInt = Integer.parseInt(endMin);
【讨论】:
以上是关于用户输入时,代码不会存储两个零,而是存储一个 0 [重复]的主要内容,如果未能解决你的问题,请参考以下文章