Java 如何使用utlizie stringbuilder添加其他字符并在空格处重新启动?
半字符串应该每隔一个字符返回一个字符串,它应该返回起始字符。例如,Java 如何使用utlizie stringbuilder添加其他字符并在空格处重新启动?,java,for-loop,char,iteration,Java,For Loop,Char,Iteration,半字符串应该每隔一个字符返回一个字符串,它应该返回起始字符。例如,halfOfString(“Qbkm Zgis”,0)返回字符串“Qk gs”,调用halfOfString(“Qbkm Zgis”,1)返回字符串“bmZi”。一旦你到达一个空格,后面的字母应该被计算,然后你继续每隔一个字母 我的代码没有按预期的方式工作,我一直在尝试用不同的方式修复,但是空格字符会把一切都抛在脑后 public String halfOfString(String message,int start ){
halfOfString(“Qbkm Zgis”,0)
返回字符串“Qk gs”,调用halfOfString(“Qbkm Zgis”,1)
返回字符串“bmZi”。一旦你到达一个空格,后面的字母应该被计算,然后你继续每隔一个字母
我的代码没有按预期的方式工作,我一直在尝试用不同的方式修复,但是空格字符会把一切都抛在脑后
public String halfOfString(String message,int start ){
StringBuilder halfString = new StringBuilder();
int length= message.length();
for (int k=start;k<length;k++){
char achar = message.charAt(k+1);
if (Character.isLetter(achar)!=true){
achar='\0';
}
System.out.println("this is char"+"\t"+achar);
halfString.append(achar );
System.out.print("this is halfString in the forloop"+"\t"+halfString);
}
return halfString.toString();
}
公共字符串(字符串消息,int start){
StringBuilder半字符串=新的StringBuilder();
int length=message.length();
对于(int k=start;k你需要做chatAt(k)
而不是k+1
,你不需要检查它是否是一个空格。也可以做k+=2
而不是k++
(就像你想要其他字符一样)。最后,你不需要将长度解析为变量。你可以直接检查长度:
public static String halfOfString(String message,int start ){
StringBuilder halfString = new StringBuilder();
for (int k=start;k<message.length();k+=2){
char achar = message.charAt(k);
halfString.append(achar);
}
return halfString.toString();
}
谢谢你,代码是对的。你怎么知道你不需要检查空格?我正在努力思考我的代码。我还以为空格被算作一个字符呢?@Eli你为什么要检查空格?它会像其他任何char
在某些编程语言中一样被追加空格。我很抱歉仍在学习java。
//with 0 as start:
Qk gs
//With 1 as start:
bmZi