2015-09-20 4 views
-1

Работа над проектом, который требует, чтобы что-то печаталось как «printf», но следующая строка заканчивается на той же строке, что и предыдущая, как бы я решил разделить их?Отделяющие линии отпечатанных текстов при использовании printf

System.out.print("Cost per course: "); 
double costPerCourse1; 
costPerCourse1 = keyboard.nextDouble(); 
System.out.printf("%.2f", costPerCourse1 + /n); 

double tuition; 
tuition = numberOfClasses1 * costPerCourse1; 
System.out.println("Tuition: " + tuition); 
+0

Какой же выход сделать вас ожидать? – Maraboc

ответ

2

Вы пытаетесь передать символ новой строки в аргумент String, то, что я не думаю, что работа. Лучше включить "%n" в формат Строка передана в printf, и это даст вам независимую от ОС новую строку. Например:

System.out.printf("%.2f%n", costPerCourse1); 

Или вы можете просто следовать своему printf с помощью бесплатного вызова SOP.

Редактировать
Я ошибаюсь. Аргумент строка может иметь действительный символ новой строки символ, и он работает:

public class TestPrintf { 
    public static void main(String[] args) { 
     String format1 = "Format String 1: %s"; 
     String arg1 = "\nArgument String 1 that has new line\n"; 

     System.out.printf(format1, arg1); 

     String format2 = "Format String 2 has new line: %n%s%n"; 
     String arg2 = "Argument String2 without new line"; 

     System.out.printf(format2, arg2); 

    } 
} 

возвращается:

Format String 1: 
Argument String 1 that has new line 
Format String 2 has new line: 
Argument String21 without new line 

Или:

System.out.printf("%s: %.4f%s%s", "Value:", Math.PI, "\n", "next String"); 

возвращается:

Value:: 3.1416 
next String 
+0

Спасибо, что сработали сразу – huntervike

+1

NINJA'D! - ну, honesly, он * будет * работать для '% s' или'% c' - т.е. 'System.out.printf («%. 2f% c », costPerCourse1, '\ n');' - I ' m, не говоря о том, что это хорошее решение (это не так, потому что '% n' или даже простой' \ n' в формате явно лучше), но он * будет * работать. – vaxquis

+0

@huntervike: Я ошибаюсь, аргумент Строка может иметь действующий символ новой строки. См. Отредактированный ответ. –

Смежные вопросы