2014-01-17 3 views
1

Как инициализировать строку с динамической длиной в Java?Создание строки, содержащей один и тот же символ, несколько раз

Например, я хочу иметь строку, состоящую из п символов a, где п является переменной. Я могу это сделать?

+4

Ummmm Повторяю ?: http://stackoverflow.com/questions/15039519/how-to-dynamically-add-elements-to-string-array –

ответ

2

Вы можете использовать StringBuilder

StringBuilder sb = new StringBuilder(); 
String myChar = "a"; 
int n = 10; 
for(int i=0; i<n;i++){ 
    sb.append(myChar); 
} 

String myResult = sb.toString(); 
0

Строка неизменна. Когда вы инициализируете строку, это один раз. вы не можете менять свой размер время от времени. размер не должен быть динамическим.

Использовать другой вариант, как StringBuilder сделать это

4

Вы можете использовать StringBuilder и определить метод, называемый, например, GetString.

public static String getString(char ch, int n){ 
     StringBuilder sb = new StringBuilder(n); 
     for (int i=0; i<n; i++){ 
      sb.append(ch); 
     } 
     String s = sb.toString(); 
     return s; 
} 

Теперь вы можете сделать некоторые звонки на этот метод.

String sA1 = getString('a', 10); 
String sA2 = getString('a', 20); 
String sB = getString('b', 30); 
String sC = getString('c', 5); 
0
StringBuilder strB = new StringBuilder(); 
for(int i = 0; i < size; i++) 
{ 
    strB.append("a"); 
} 

String str = strB.toString(); 
0

Вы можете использовать List

ArrayList<String> mylist = new ArrayList<String>(); 
mylist.add(mystring); //this adds an element to the list. 
1

Массивы имеют фиксированную длину в Java. Если вы хотите, чтобы размер быть динамичным, вы должны использовать объект списка

List<String> stringList = new ArrayList<String>(); 

взглянуть на документацию ArrayList.

И если вам нужен массив, то

String[] stringArray = stringList .toArray(new String[stringList .size()]); 
Смежные вопросы