Как использовать String.format() в Java?

Я новичок в Java, и я использую java-учебники thenewboston (youtube). В учебнике 36-37 он начинает использовать String.format(); которые он не объяснил в прошлых учебниках. Вот код для класса, который он делал:

    public class tuna {
        private int hour;
        private int minute;
        private int second;

        public void setTime(int h, int m, int s){
            hour = ((h >= 0 && h < 24) ? h : 0);
            minute = ((m >= 0 && m < 60) ? m : 0);
            second = ((s >= 0 && s < 60) ? s : 0);
        }

        public String toMilitary(){
            return String.format("%02d:%02d:%02d", hour, minute, second);
        }
    }

Так что он делает, он делает какой-то военный класс времени и использует форматирование String. Поэтому я спрашиваю, может ли кто-нибудь объяснить мне, как работает String.format() и как работает форматирование выше. Спасибо за помощь!

Ответ 1

Он работает так же, как printf() из C.

%s for String 
%d for int 
%f for float

впереди

String.format("%02d", 8)

ВЫХОД: 08

String.format("%02d", 10)

ВЫХОД: 10

String.format("%04d", 10)

ВЫХОД: 0010

так что в основном он будет дополнять число 0 перед выражением, переменной или типом примитива, заданным в качестве второго аргумента, 0 будет дополняться таким образом, что все цифры удовлетворяют первому аргументу метода формата String API.

Ответ 2

Он просто берет переменные hour, minute и second и выводит их в формате 05:23:42. Может быть, еще один пример:

String s = String.format("Hello %s answered your question", "placeofm");

Когда вы печатаете строку, чтобы показать ее в консоли, она будет выглядеть следующим образом

System.out.println(s);

Здравствуйте placeofm ответил на ваш вопрос

Заполнитель %02d предназначен для десятичного числа с двумя цифрами. %s для строки, подобной моему имени, в примере выше. Если вы хотите изучать Java, вы должны прочитать документы. Вот это для класса String. Вы можете найти метод форматирования с хорошим объяснением. Читать эту документацию действительно важно даже на Java.