2016-02-13 3 views
1
System.out.print("I have a question, can you assist me?"); 
System.out.println(); 
System.out.println("How can I make a gap between these two statements?"); 

Я попытался использовать println(), думая, что это создаст пустую строку, но это не так.Как сделать пробел между строкой в ​​Java?

+3

'System.out.println ("");' или 'System.out.print ("У меня есть вопрос, можете ли вы помочь мне \ п"?);' – MadProgrammer

ответ

2

Try:

public class Main { 

    public static void main(String args[]) { 
     System.out.println("I have a question, can you assist me?\n"); 
     System.out.println("How can I make a gap between these two statements?"); 
    } 
} 

P.S. \n - это разделитель новой строки и работает нормально, хотя бы на Windows-машине. Для достижения действительно кроссплатформенное разделитель, используйте один из методов ниже:

System.out.print("Hello" + System.lineSeparator()); // (for Java 1.7 and 1.8) 
System.out.print("Hello" + System.getProperty("line.separator")); // (Java 1.6 and below) 
+0

Смотрите мой комментарий на @ Ronex-х ответ. Он работает только в Windows, если выход идет на «экран». Если вы перенаправите файл, многие приложения Windows не справятся с ним. –

+0

Я обновил ответ, чтобы сделать его кроссплатформенным. – userlond

0

Использование: System.out.println ("\ п");

\ n переносит вас в новую строку.

+0

Плохая идея. Это не будет работать должным образом в Windows ... где конец строки - '' \ r \ n "'. Подсказка: попробуйте перенаправить вывод в файл и затем открыть его с помощью Блокнота. –

1

Вот что происходит.

System.out.print("I have a question, can you assist me?"); 

Теперь вы напечатали кучу символов, все на одной линии. Поскольку вы использовали print и явно не напечатали символ новой строки, следующий печатный символ также перейдет к этой же строке.

System.out.println(); 

Это печатает символа новой строки ('\n'), который является не таких же, как печать пустой строки. Скорее, это приведет к тому, что печатный символ будет напечатан следующим образом:, чтобы перейти к строке, следующей за текущей.

System.out.println("How can I make a gap between these two statements?"); 

Так как вы только что напечатанный символ новой строки, этот текст будет идти на линии непосредственно после вашего «У меня вопрос» линии. Кроме того, поскольку вы вызвали println, если вы напечатаете что-либо сразу после этого, он перейдет на новую строку вместо той же.

Чтобы поместить пустую строку между двумя утверждениями, вы можете сделать это (я знаю, я знаю, не полностью кросс-платформенный, но это лишь очень простой пример):

System.out.println("I have a question, can you assist me?"); 
System.out.println(); 
System.out.println("How can I make a gap between these two statements?"); 

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

-1

Как насчет этого?

public class Main { 
    public static void main(String args[]) { 
     System.out.println("Something..."); 
     System.out.printf("%n"); // Not "\n" 
     System.out.println("Something else..."); 
    } 
} 

«% n» должен быть кроссплатформенным.

1

Остерегайтесь того, что добавление голого «\ n» к выводимой строке может привести к специфике вашей кодовой платформы. Для вывода консоли это, вероятно, ОК, но если файл читается другим (на основе платформы), то вы можете получить странные ошибки.

Вот некоторые рекомендуемые подходы ...который должен работать на всех платформах:

  1. Просто используйте Println последовательно:

    System.out.println("I have a question, can you assist me?"); 
    System.out.println(); 
    System.out.println("How can I make a gap?"); 
    

    Примечание: println использует конец-строки последовательности платформы по умолчанию.

  2. Использование string.Format:

    String msg = "I have a question, can you assist me?%n%nHow can " + 
           "I make a gap?%n"; 
    System.out.print(String.format(msg)); 
    

    Примечание: %n означает конец-строки последовательности платформы по умолчанию.

    Примечание: есть удобный метод printf в интерфейсе PrintWriter, что делает то же самое, как String.format

  3. вручную вставьте соответствующий конец-строки последовательности в строку; см. конец ответа @ userlond для примеров.

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