在以下代码段中:
static Scanner userInput = new Scanner(System.in);
static String str;
public static void main(String[] args) {
str = userInput.nextLine();
}
public String wordSplitter() {
char b;
for(int i = 0; i < numbers.length(); i += 1)
b = str.charAt(i);
return b;
}
语句“ return b; ”给我一个错误,因为我的方法应该返回一个字符串,但 b 是一个字符。
那么我如何以某种方式将b变成String?或者有更好的方法将字符串拆分为String类型的字母吗?
感谢
答案 0 :(得分:1)
这个怎么样?
public String splitStringIntoLetters(){
String toBeSplit = "abcdefg";
char [] toBeSplitChar = toBeSplit.toCharArray();
return java.util.Arrays.toString(toBeSplitChar);
}
这会返回如下内容: [a,b,c,d,e,f,g]
获得字符串后,只需对字符串执行所需的操作即可。 e.g。
String testStr = splitStringIntoLetters();
System.out.println(testStr.replace("["," ").replace("]"," ").split(","));
答案 1 :(得分:0)
有很多方法可以实现,你可以使用/返回 Character.toString(b)或 String.valueOf(b)静态方法。
public String wordSplitter() {
char b;
....// do something and assign b
return Character.toString(b);
}
答案 2 :(得分:0)
public String wordSplitter() {
char b;
for(int i = 0; i < numbers.length(); i += 1)
b = String.valueOf(str.charAt(i));
return b;
}
您可以尝试以上代码。
String string = Character.toString(ch);
String string = String.valueOf(ch);
以上两种方法都可以将您的角色转换为String。 希望这会对你有所帮助。
答案 3 :(得分:0)
你可以尝试这些,首先我认为它应该是i<str.legth;
,你可以像这样处理return b+"";
答案 4 :(得分:0)
似乎您的代码主要是为了占用CPU性能而设计的。
通常您将替换:
for(int i = 0; i < numbers.length(); i += 1)
b = str.charAt(i);
return b;
通过
return str.charAt(numbers.length()-1);
如果您坚持要返回字符串,您会这样做
return String.valueOf(str.charAt(numbers.length()-1));
...但是我很难理解这样做的目的是什么