В настоящее время код должен заменить все пробелы в строке на% 20. По большей части, я думаю, что логика правильная в методе, который я вызываю, но когда я хочу увидеть возвращенный результат, мой основной метод ничего не печатает - он печатает пробел для строки. Может ли кто-нибудь направить меня туда, где моя логика превращения массива в строку неверна? Спасибо за время и помощь. Я прикрепил свой код к методу на случай, если вам это понадобится. Извините, если ошибка тупая.Печать строки из массива символов?
public class replaceSpaces {
public static void main(String[] args) {
char[] data = checkfor20("yo o");
String text = String.valueOf(data); //turn char array into string representation
System.out.println(" new one: " + text);
}
private static char[] checkfor20(String string) {
int check = string.length(); //length of string
int spaceCount = 0, newLength; //count spaces and new length with %20 put in
char[] charstring = string.toCharArray(); // turn string into char array
for(int i = 0; i < check ; i++) { //get space count for newlenght
if (charstring[i] == ' ') {
spaceCount++;
}
}
newLength = check + (spaceCount * 2);
char[] newArray = new char[newLength];
for(int i = check - 1; i >= 0; i--) {
if(newArray[i] == ' ') { //get spaces and put it
newArray[newLength - 1 ] = '0';
newArray[newLength - 2 ] = '2';
newArray[newLength - 3 ] = '%';
newLength = newLength - 3;
}
else {
newArray[newLength - 1] = charstring[i];
newLength = newLength - 1;
}
}
return newArray; //return the new char array
}}