【问题标题】:getting a number from a user and making changes and turning it into a string从用户那里获取数字并进行更改并将其转换为字符串
【发布时间】:2017-01-11 03:29:10
【问题描述】:

我正在制作一个猜测用户生日的数学程序。

用户输入一个数字让我们说:75622,我从中减去一个数字来得到生日,在这种情况下是 42682 -- 04/26/82

我希望能够将该整数转换为字符串,然后在月、日和年之间添加正斜杠。如果它只有 5 位而不是 6,还添加 0(因为月份是1-9)。

我知道如何使用 Integer.toString(int) 将其转换为字符串,但我不知道如何插入正斜杠和零。

谢谢!

【问题讨论】:

    标签: java string int tostring


    【解决方案1】:

    如果您只想将int 转换为String(带有前导0),您可以使用String.format like

    int num = 42682;
    String s = String.format("%06d", num);
    

    然后您可以使用另一个 String.format 和 String.substring 来构建您想要的输出,例如

    String output = String.format("%s/%s/%s", s.substring(0, 2), 
            s.substring(2, 4), s.substring(4));
    System.out.println(output);
    

    哪些输出(根据要求)

    04/26/82
    

    【讨论】:

    • 或者只是printf("%02d/%02d/%02d", num / 10000, num / 100 % 100, num % 100)
    • 我要使用 joptionpane
    【解决方案2】:

    请在下面找到答案:

    public class CreateDateFromNumber {
    
        public static void main(String[] args) {
            int number = 42682;
            System.out.println(getDate(number));
        }
    
        public static String getDate(int number) {
            String numberStr = Integer.toString(number);
            String outputStr = "";
    
            if (numberStr.length() != 5 && numberStr.length() != 6) {
                throw new IllegalArgumentException(
                        "Number should be length of 5 or 6");
            }
    
            if (numberStr.length() == 5) {
                numberStr = "0" + numberStr;
            }
    
            int var0 = 0;
    
            while (var0 < numberStr.length()) {
                String var1 = numberStr.substring(var0, var0 + 2);
                outputStr = outputStr + var1;
    
                if (var0 + 2 < numberStr.length()) {
                    outputStr = outputStr + "/";
                }
                var0 = var0 + 2;
            }
            return outputStr;
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多