java - 如何在这个java程序中将0添加到个位数?

标签 java

我对 Java 很陌生。我刚刚完成了基础知识(这是我第一次尝试使用 while 循环),现在工作中遇到了一个可以通过编程明确解决的问题。我们需要以“xx-xx-xx”格式向打印文档添加数字,使其以 00-00-00 开头并以 99-99-99 结尾。具体来说,我需要为个位数添加前导零。

我已经成功编写了一个程序来打印我们需要的数字,我刚刚发现我可以简单地在命令提示符下输出到文本文件(在这台使用 Windows XP 和 java 1.7 的旧计算机上速度慢得可怕),但我可以不知道如何在个位数前面添加 0。

这是我所拥有的:

public class Numbers {
    public static void main(String[] args){
        int a = 0;
        int b = 0;
        int c = 0;
        while (a<100) {
            if(c<99){
                c = c+1;
                System.out.println(a + "-" + b + "-" + c);
            }
            else if(b<99) {
                c = 0;
                b = b+1;
                System.out.println(a + "-" + b + "-" + c);
            }
            else if(a<99) {
                c = 0;
                b = 0;
                a = a+1;
                System.out.println(a + "-" + b + "-" + c);
            }
        }
    }
}   

我尝试了一些方法,但我很可能没有正确实现它们,因为我再次不知道自己在做什么。我知道有一种方法可以格式化字符串,并且有一个 printf 函数,我知道你可以用 %02d 做一些事情(我已经看到 String.format("%02d", myNumber) 作为答案,但无法确切地弄清楚如何在我的代码中实现它)并且我读了一些有关 PrintStream 和 PrintWriter 等的内容,但我的经验还不够丰富,不知道如何使用所有这些。

真正的问题是我没有太多时间来做这件事,不幸的是我们的客户都要求快速的周转时间(昨天下午,也就是我们得到这份工作几个小时后,他们已经要求提供 sample 了)。我确信我最终能够弄清楚,并且当我有时间时我会继续尝试,但我还有其他工作要做,昨晚没有时间。

我正在考虑重写代码以去掉破折号(认为可能已经打印了一个字符串这一事实使我无法格式化我打印的内容)但我预计我会在那里遇到其他问题.

我非常感谢任何关于进一步探索 java 和一般编程的意见和建议(我认为我比其他任何事情都更喜欢学习,我总是贪婪且无法满足)。

最佳答案

你可以做到,

System.out.printf("%02d-%02d-%02d\n", a, b, c);

而不是 println 语句。

关于java - 如何在这个java程序中将0添加到个位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38770600/

相关文章:

java - SWING 的轮类日历

java - Flyway + h2内存数据库+ hibernate +测试导致表不存在

java - 读取文本文件,然后计算字母频率并从最高到最低列出它们

java - 将 Editable 作为 EditText.getText() 方法的返回类型的目的是什么?

java - 执行查询时出现奇怪的 DB2 异常

java - 渲染到一半大小的帧缓冲区,然后将其放大以实现像素化外观

java - 抛出异常时java扫描器是否关闭?

java - 使用 JFileChooser 和文件处理

java - 项目未正确添加到 arrayList

java - 用错误的 IV 大小解密 AES