[Java] Сгенерировать строчку из одинаковых символов заданной длины
perl
$s ='*' x 100
$s ='*' x 100
C# :
new string('*', 100); 
php
$s = str_pad('',100,'*');
или
$s = str_repeat('*', 100);
$s = str_pad('',100,'*');
или
$s = str_repeat('*', 100);
C++ :
new std::string(100, '*');
Хм.. я со своим примером тоже себя полным идиотом почувствовал
)
)for ($s=''; strlen($s) <= 100; $s .= '*') {} тогда уж
^)
$s.="*"
^)
я уж подправил %)
Пока что я делаюНу, ты можес соптимизировать процесс. Но, по-ходу, других решений нет.
...
и чувствую себя при этом полным идиотом...

> StringBuffer sb = new StringBuffer;
есть подозрение, что через массив чаров будет быстрее
есть подозрение, что через массив чаров будет быстрее
Да, действительно, он же на char[] основан. Спасибо!
Итого, в данном случае:
Итого, в данном случае:
char[] cs = new char[100];
Arrays.fill(cs, '*');
String s = new String(cs);
Еще можно попробовать оптимизировать исходный пример аналогично алгоритму быстрого возведения в натуральную степень...
Спасибо конечно, но круче какого-нибудь
mov al, '*'
mov dx, destination
mov cx, total
rep stosb
вряд ли что-нибудь есть.
mov al, '*'
mov dx, destination
mov cx, total
rep stosb
вряд ли что-нибудь есть.
SSE сейчас в моде
for (int i = 0; i < 100; i++) {Мелкомягкие CString'и тут будут работать с квадратичной скоростью из-за append.
sb.append('*');
}
А в STL есть конструктор такой...
А Java сосет, как обычно.
> А в STL есть конструктор такой...
AFAIK, STL-конструктор делает ровно такой же код:
AFAIK, STL-конструктор делает ровно такой же код:
char[] cs = new char[100];
Arrays.fill(cs, '*');
String s = new String(cs);
Java:
String s = "*************************************************************************************************************************************************"
It's OK
String s = "*************************************************************************************************************************************************"
It's OK

Java:
String s="*".repeat(100);
String s="*".repeat(100);
Оставить комментарий
enochka1145
Как сделать на Java попроще? Хочется, чтобы выглядело типа:new String('*', 100)Пока что я делаюи чувствую себя при этом полным идиотом...Желающим поприкалываться над Java - welcome, но только с условием, что предоставите аналог на своём языке.