2015-05-18 3 views
1

В Java я пытаюсь напечатать слово, которое пользователь вводит 100 раз, но вместо того, чтобы печатать каждый экземпляр на новой строке, я пытаюсь напечатать столько, сколько смогу одну строку, а затем перейти к новой строке. Это будет легко сделать в java? Я новичок в java, поэтому любая помощь будет принята с благодарностью! Вот что я до сих пор ниже.печать до конца строки в java

public class Main { 

    public static void main(String[] args) { 

     String name= "TEST"; //defined for debugging purposes 

     int i=0; 

     while (i < 100) 
     { 
      System.out.println(name + " "); 
      i++; 
     } 
} 

}

+0

Возьмите пользовательский ввод и распечатайте его. В чем проблема? –

ответ

2

Вы должны использовать System.out.print вместо System.out.println заявления для печати на одной и той же линии.

+2

Но как у вас есть автоматические разрывы строк, когда у терминала заканчивается пространство? – tim

+1

@tim У вас нет, Java не поддерживает его. Это может быть требование самого терминала. Ваш другой выбор - установить крайний предел и вручную разбить строки. – MadProgrammer

2
public class Main { 
public static void main(String[] args) { 

    String name= "TEST"; //defined for debugging purposes 

    int i=0; 

    while (i < 100) 
    { 
     System.out.print(name + " "); 
     i++; 
    } 
    System.out.println(); 
} 
} 
0

Если вы хотите следовать за 72 - 80 символов в строке (CPL) стандарт, http://en.wikipedia.org/wiki/Characters_per_line, вы можете просто добавить свои данные в один StringBuilder и считать каждый присоединять как итерации.

public static void main(String[] args) throws Exception { 
    final int CHARACTERS_PER_LINE = 72; 

    String name = "TEST"; //defined for debugging purposes 
    StringBuilder sb = new StringBuilder(); 
    for (int i = 0; i < 100; i++) { 
     sb.append(name).append(" "); 

     // Check if the next append exceeds the CPL 
     if (sb.length() + name.length() + 1 > CHARACTERS_PER_LINE) { 
      System.out.println(sb); // Print the line 
      sb.setLength(0); // Clear for a new line 
     } 
    } 
    // Print what is left 
    System.out.println(sb); 
} 

Результаты (Каждая строка должна иметь меньше или равно 72 символов):

TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST 
+0

Не забудьте добавить элемент в StringBuilder в блок else; поэтому добавлено столько элементов, сколько есть итераций. – Woodrow

0

Если вы хотите аккуратные разрывы строк; вы можете автоматически планировать их каждые 10 итераций, используя оператор modulus%.

public class Main { 

    public static void main(String[] args) { 

     String name= "TEST"; //defined for debugging purposes 

     int i=0; 

     while (i < 100) 
     { 
      System.out.print(name + " "); 
      if(i%10 == 0 && i != 0) { 
       System.out.println(); 
      } 
      i++; 
     } 
} 

Кроме того, вы можете всегда использовать символ новой строки \ n для печати на новой строке. В escape-последовательностях java в строковых литералах начинается символ \, а затем escape-символ. Выполнение \ п является новой строки, \ т вкладка, \»является апостроф, \» двойные кавычки, 2 \, обратная косая черта - это те общие,

Использование новой строки & тройная оператора:.

.
while (i < 100) 
{ 
    String line = i%10 == 0 && i != 0 ? name + "\n" : name + " "; 
    System.out.print(line); 
    i++; 
} 

Если вы не знакомы с тройным оператором, это упрощенное, если/другое заявлением тройной оператор выше такой же, как говорят:

String line = ""; 
if(i%10 == 0 && i != 0) { 
    line = name + "\n"; 
} 
else { 
    line = name + " "; 
} 

это простой способ форматирования, который не учитывать длину символа.