Hi I\'ve tried everything from terny operators, if else statements and parsing the int to a string, I am making a clock that reads 4:01 4:02 but instead it outputs 4:1
t
Look at Java Tutorial: Formatting Numeric Print Output.
For example:
long n = 461012;
System.out.format("%08d%n", n); // --> "00461012"
Another example:
Calendar c = Calendar.getInstance();
System.out.format("%tl:%tM %tp%n", c, c, c); // --> "2:34 am"
The problem is this line:
int blank = Integer.parseInt("0");
Since your blank is an integer 0, blank + min
will be the same as min. Try just using "0" without changing the type.
Also, as David Wallace mentions, you should replace (min > 10 )
with (min >= 10 )
or (min > 9 )
You can simply use String.format(pattern,data)
with pattern %02d
%
represents start of pattern2
means that input should be written as at least two characters __
0
but if input is shorter than two characters fill rest with 0
_a
-> 0a
d
is short from digit which all means that digit passed digit should be written using two characters and in case there would be empty space (number is too short like 0
, 1
, 2
till 9
) fill space before it with 0
.
More at Formatter documentation
Demo:
String formatted = String.format("%02d:%02d", 4,2);
System.out.println(formatted);
Output: 04:02