Строки Java System.out не выполняются должным образом
Мои строки System.out Java не выполняются должным образом, поэтому они печатают половину каждой строки в одной строке. Я не уверен, что здесь не так. Согласно моим заметкам, они выглядят хорошо. Какие-нибудь мысли?
Код:
System.out.printf("The circumference of a circle with radius ", radius, " is: ", circumference, ".\n");
System.out.printf("The area of a circle with radius ", radius, " is: ", areacircle, ".\n");
System.out.printf("The area of a sphere with radius ", radius, " is: ", areasphere, ".\n");
System.out.printf("The volume of a sphere with radius ", radius, " is: ", volumesphere, ".\n");
Выход:
Введите радиус: 2.5 Окружность круга с радиусом Площадь круга с радиусом Площадь сферы с радиусом Объем сферы с радиусом
2 ответа
Вы не используете printf правильно. Это:
System.out.printf("The circumference of a circle with radius ", radius, " is: ", circumference, ".\n");
должно быть:
System.out.printf("The circumference of a circle with radius %.2f is: %.2f%n",
radius, circumference);
Где %f
является заполнителем для ваших значений с плавающей запятой (предположительно, двойных здесь). Основная идея printf состоит в том, чтобы избежать уродливой конкатенации строк, которую вы делаете в своем коде. Обратите внимание, что вы должны использовать %n
для конца строки в printf и подобном коде, не \n
,
Для получения более подробной информации вы можете обратиться к API для класса java.util.Formatter.
Правильно использовать printf
предоставьте формат all в первом аргументе и укажите значения для всех остальных аргументов. Используйте заполнители для значений. Пример для первой строки:
System.out.printf("The circumference of a circle with radius %f is %f.\n",
radius, circumference);
Также см. Сводку форматирования.