Java:没有空格的空char

Sku*_*paj 0 java null ternary-operator char

我正在制作一个程序,如果它<10,那么在一天或一个月之前将零置零.我与三元运算符一起使用,如果我的日期<10,它就可以正常工作.

11-02-1999是好的

但如果它高于零则给出

11-12-1999

我不想要那个空白.我该如何删除它.这是我的代码

nuldag = (dag < 10 ? '0' : '\0');
nulmonth = (month < 10 ? '0' : '\0');
System.out.println("Date is:  " +nulday+day+"-"+nulmonth+month+"-"+year);   
Run Code Online (Sandbox Code Playgroud)

wer*_*ero 5

你不能用char来做这件事.改为使用字符串:

 String nuldag = (dag < 10 ? "0" : "");
 String nulmonth = (month < 10 ? "0" : "");
 System.out.println("Date is:  " + nuldag + day  + "-" + nulmonth + month + "-" + year);
Run Code Online (Sandbox Code Playgroud)

编辑:
我添加了Peter Lawrey的建议,即使用字符串格式化可以更好地解决此类格式化任务,例如

System.out.printf("Date is %2d-%2d-%d%n", day, month, year);
Run Code Online (Sandbox Code Playgroud)

  • 这是问题的答案,但我想补充一点,更好的解决方案是使用格式`System.out.printf("日期是%2d-%2d-%d%n",日,月,年); `+1 (4认同)