2013-04-29 3 views
-4
String str1 = "hello world"; 
String str2; 
for (int i=0; i<str1.length(); i++) 
{ 
    str2 = str2 + str1[i]; 
} 

Как я могу отбросить элементы str1 в str2 последовательно?как отбросить символ в строке в java

+0

Что не работает с таким подходом? – mre

+0

Это действительно неясно, что вы хотите, чтобы str2 был после завершения этого цикла. –

+4

a String не является стеком. –

ответ

3

Не забудьте инициализировать String str2 = "";. После этого, сделать это внутри цикла:

str2 = str2 + str1.charAt(i); 

Или что то же самое:

str2 += str1.charAt(i); 

В любом случае, трюк использует метод charAt() для доступа символа в заданном положении.

+0

Это сработало. Огромное спасибо. –

+0

А что, если я хочу проверить персонажа, будь то алфавит или нет? –

+0

Это отдельный вопрос, но ОК. Используйте методы в классе 'Character', в частности' Character.isAlphabetic() '. –

1

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

Как правило, вы должны использовать StringBuilder для выполнения манипуляции, а toString() - в конце, чтобы получить окончательный результат String.

3

Вместо str1[i]str1.charAt(i).

for (int i=0; i<str1.length(); i++) 
{ 
str2 = str2 + str1.charAt(i); 
} 
0
String str1 = "hello world"; 
String str2 = ""; 
for (int i=0; i<str1.length(); i++) 
{ 
    str2 = str2 + str1.charAt(i); 
} 

Если вам нужно нажать содержимое как Stack, то есть в обратном String.

String str1 = "hello world"; 
String str2 = ""; 
for (int i=str1.length()-1; i>-1; i--) 
{ 
    str2 = str2 + str1.charAt(i); 
} 
System.out.println(str2); 
Смежные вопросы