2015-01-31 3 views
-1

Я хочу, чтобы Санта-Клаус сказал «Ho» в общей сложности «n» раз, где я указываю «n». Я знаю, как печатать его n раз, но я не знаю, как правильно вставить разделитель между «Ho», чтобы результат выглядел так: «Ho Ho Ho»как печатать ту же строку, разделенную пробелом n раз

Моя попытка кодирования этого ниже:

public class Main 
{ 
    public static String repeat(String str, int times) { 
     return new String(new char[times]).replace("\0", str); 
    } 
    public static void main(String[] args) { 
     Scanner s=new Scanner(System.in); 
     String Ho="Ho"; 
     int n=s.nextInt(); 
     System.out.println(repeat(Ho, n)+"!"); 
    } 
} 
+1

Используйте цикл. Повторите попытку, я буду держать пари, что вы можете это сделать. –

ответ

0
public class Main { 

    public static void main(String[] args) { 
     Scanner s = new Scanner(System.in); 
     String ho = "Ho"; 
     int n = s.nextInt(); 
     System.out.println(repeat(ho, n) + "!"); 
    } 

    public static String repeat(String str, int times) { 
     StringBuilder builder=new StringBuilder(); 
     for(int i=0 ; i<times ; i++){ 
      builder.append(str).append(" "); 
     } 
     return builder.toString().trim(); 
    } 
} 
+1

чувак, это не хороший ответ ... это всего лишь блок кода без объяснения ... – hft

2

Использование StringJoiner с пробелом в качестве разделителя.

StringJoiner sj = new StringJoiner(" "); 
String str = "Ho"; 
int n = 3; 
for (int i = 0; i<n; i++){ 
    sj.add(str); 
} 
String text = sj.toString(); 
System.out.println(text); //Ho Ho Ho 

Вы можете также использовать StringJoiner(delimiter, prefix, suffix) для автоматического добавления ! в конце соединяемых строк (как суффикс);

StringJoiner sj = new StringJoiner(" ","","!"); 
+0

+1 Я не знал об этой новой функции Java 8! Спасибо, что привлекли мое внимание; Я могу, наконец, покончить с моей утилитой 'Strings.repeat'. – varzeak

+1

@varzeak Нет проблем. Вас также могут заинтересовать методы 'String.join', или если вы хотите использовать' stream() ', вы также можете использовать' someStream.collect (Collectors.joining (delimiter)) ':) – Pshemo

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