用户输入时,代码不会存储两个零,而是存储一个 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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

2_两数相加

代码题(11)— 链表两数相加

leetcode-2. 两数相加

两数相加

链表表示的两数相加

两数之和