[英]How to change a char in a String - replacing letters java
模擬主題無法解決我的問題。 我需要在給定的String str
中將char'a 'a'
更改為'x'
。
示例:“abc”=“xbc”。 我只允許使用substring(), charAt()
- 沒有replace()
方法。
我的代碼到目前為止:
public static String ersetze(String text){
for(int i = 0; i<text.length(); i++){
if(text.substring(i, i+1).charAt(i) == 'a'){
text.substring(i, i+1) = 'x';
}
}
//return statement
}
現在錯誤是text.substring(i, i+1) = 'x';
左分配必須是變量 - 清除。 但是現在如何將字母賦予變量? 如果我宣布一個char x;
如何將x
放在String中以替換字母?
String
在Java中是不可變的,因此您無法替換String的字母。 您需要創建一個新的String。
您可以將String轉換為字符數組並僅更改所需的字符串,然后從此數組創建一個新的String:
public static String ersetze(String text){
char[] letters = text.toCharArray();
for (int i = 0; i < letters.length; i++){
if (letters[i] == 'a') {
letters[i] = 'x';
}
}
return new String(letters);
}
字符串不能替換為字符。 首先需要創建字符數組然后替換。
public static String ersetze(String text){
char[] result = text.toCharArray();
for(int i = 0; i < result.length; i++){
if(result [i] == 'a'){
result[i] = 'x';
}
}
return String.valueOf(result);
}
如果你真的需要這個並且你只限於你提到的方法,那么每次找到請求的char時你都可以這樣做: text = text.substring(0, i) + x + text.substring(i + 1);
將字符串轉換為字符數組(包含在java API中),遍歷數組並用char數組中的所有“a”替換為“x”,然后將其更改回字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.