我正在解决 Java 编码问题并遇到以下问题。
Input: A String -> "Code"
Output Expected: A string -> CCoCodCode
我的代码片段:(注意:在注释中我已经写下了传递字符串时我所期望的内容)
public String stringSplosion(String str) { // string Say 'Code'
String join = "", values = "";
String gotIt = "";
int n = str.length(); // 4
int size = 0;
for (int i = n; i >= 1; i--) {
size = size + n; // 4+3+2+1=10
}
String[] result = new String[size];
for (int i = 0; i < str.length(); i++) {
values = str.substring(i, i + 1);
join = join + values;
result[i] = join;
}
for (String s : result) {
gotIt = gotIt + s;
}
return gotIt; // Expected output: CCoCodCode
}
我得到的输出:
CCoCodCodenullnullnullnullnullnullnullnullnullnullnullnull
尽管我已经减小了大小,但为什么仍存储 null
以及如何删除它?
注意:我需要使用数组来解决这个问题。我知道使用 List 会容易得多。
最佳答案
如果您想保留代码的当前结构,请删除第一个 for 循环。 并创建 String[] array = new String[n]
public static String stringSplosion(String str) { // string Say 'Code'
String join = "", values = "";
String gotIt = "";
int n = str.length(); // 4
String[] result = new String[n]; //you want your String array to contain 4 strings
for (int i = 0; i < str.length(); i++) {
values = str.substring(i, i + 1);
join = join + values;
result[i] = join;
}
for (String s : result) {
gotIt = gotIt + s;
}
return gotIt; // Expected output: CCoCodCode
}
关于java - 在 Java 中转换为字符串时,从 StringArray 的未使用空间中删除 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47581194/