Как задать формат времени (01, 02, 03)

Как задать формат времени, например 01, 02, 03, а точнее у меня есть такая часть кода :

if(minutes < 10){//когда минуты меньше 10 
                minutes = "0" + minutes;//Задать формат 00 для чисел меньше 10 пример
                //01, 02, 03, 04, 05
            }
        }

она должна прибавлять не поддающееся к арифметическим действиям (сложение, вычитание) число 0 к минутам. А оно выводит просто 1:5 (хотя должно 1:05, как и обычные часы у компьютера или телефона)

переменные :

int hours = 24;
int minutes = 65;

Ответы (3 шт):

Автор решения: Arty Morris
if (minutes < 10){//когда минуты меньше 10 
            String minutes_str = "0" + minutes;//Задать формат 00 для чисел меньше 10 пример
            //01, 02, 03, 04, 05
        }
    }
→ Ссылка
Автор решения: Павел Ериков

У вас minutes типа int. Когда вы пишите "0" + minutes вы складываете String + int и в итоге получаете String.

И результат сложения типа String вы пытаетесь присвоить переменной типа int.

Вы можете создать переменную для строкового представления минут, и в нее сохранять измененные минуты.

Например:

public class MyClass {
    public static void main(String args[]) {
      int minutes = 5;
      String min_str = "";
      if(minutes < 10){
          min_str = "0" + minutes;
      } else {
          min_str = Integer.toString(minutes);
      }
      System.out.println(min_str);
    }
}

Вывод:

05
→ Ссылка
Автор решения: Никита Жуков

код:

System.out.printf("%02d:%02d",1,2); 

Вывод:

01:02
→ Ссылка