Как использовать String.format () в Java? [дубликат]

этот вопрос уже есть ответ здесь:

Я новичок в Java, и я использую Java-уроки thenewboston (youtube). На уроке 36-37 он начинает использовать строку.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);
        }
    }

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

2 ответов


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

%s - > String

%d - > int

%f - > float

вперед

String.format("%02d", 8) -> выход: 08 String.format("%02d", 10) -> выход: 10 String.format("%04d", 10) - > выход: 0010

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


он просто принимает переменные 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 класс. Вы можете найти метод format с хорошим объяснением. Читать эти документы действительно важно даже не в Java.