java - Integer.parseInt 删除前导 0

标签 java parseint leading-zero

我的程序要求时间,我用 ":" 来分配时间。出于某种原因,如果我之前输入带有 0 的内容作为第一个值,它会将其删除。知道它为什么这样做吗?

这是我的代码:

import java.util.Scanner;

public class ArrivalTime {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        boolean rushHour;

        System.out.print("Enter The Time Fiona Will Leave For Work (HH:MM): ");
        String departureTime = sc.nextLine();

        String parts[] = departureTime.split(":");

        int departureHour = Integer.parseInt(parts[0]);
        int departureMinute = Integer.parseInt(parts[1]);

        System.out.println(departureHour + " " + departureMinute);
    }
}

最佳答案

int departureHour = Integer.parseInt(parts[0]);
int departureMinute = Integer.parseInt(parts[1]);
System.out.println(departureHour + " " + departureMinute);

Integer.parseInt(ANY_INTEGER_VALUE) 返回整数。例如Integer.parseInt(03) 将返回 3 而不是 03。

如果要显示给定的输入

03:09

因为它是,你应该保持显示的字符串:

System.out.println (parts[0] + " " + parts[1]);

解析为 int 仅用于计算目的。

注意:我在阅读@Elliot 的评论后编辑了以下部分。

或者正如@Elliot 在他的评论中指定的那样:

System.out.printf("%02d %02d%n", departureHour, departureMinute);

关于java - Integer.parseInt 删除前导 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42097336/

相关文章:

java - 从文件中获取信息并解析以获取方程

python - 在 Python 中使用 for 循环向日期列添加前导零

java - Android CookieManager

Java 扫描仪读取 CSV 文件时不存在的内容

java - Ajax 请求到底是什么?它与 Servlet 请求不同吗?

java - java中parseInt()和valueOf()的区别?

java - 开发 JAX-WS Web 服务客户端遇到错误

传入 float 时的javascript,parseInt行为

python - 如何识别字符串中的单个数字以插入前导零?

c# - 计算 Int32 中的前导零