Java 此错误是由于类型不匹配造成的吗?我今后如何避免这种情况?
关于这个问题: 给定一个非空字符串和一个int N,返回从 使用字符0,然后使用字符串的每N个字符。因此,如果N为3,则使用 字符0,3,6。。。等等N等于或大于1 everyNth(“奇迹”,2)→ “Mrce” everyNth(“abcdefg”,2)→ “aceg” everyNth(“abcdefg”,3)→ “adg” 尝试以下操作时,我遇到“类型不匹配:无法从字符转换为字符串”:Java 此错误是由于类型不匹配造成的吗?我今后如何避免这种情况?,java,Java,关于这个问题: 给定一个非空字符串和一个int N,返回从 使用字符0,然后使用字符串的每N个字符。因此,如果N为3,则使用 字符0,3,6。。。等等N等于或大于1 everyNth(“奇迹”,2)→ “Mrce” everyNth(“abcdefg”,2)→ “aceg” everyNth(“abcdefg”,3)→ “adg” 尝试以下操作时,我遇到“类型不匹配:无法从字符转换为字符串”: public String everyNth(String str, int n) { fo
public String everyNth(String str, int n) {
for (int i=0; i<str.length(); i = i +n) {
return str.charAt(i);
}
}
public String everyNth(String str,int n){
对于(int i=0;iYes),这是类型不匹配
public String everyNth(String str, int n) {
表示您的方法返回类型字符串,但
return str.charAt(i);
实际上是返回一个字符
你可以把那行改成
return Character.toString(str.charAt(i));
或
是的,这是类型不匹配
public String everyNth(String str, int n) {
表示您的方法返回类型字符串,但
return str.charAt(i);
实际上是返回一个字符
你可以把那行改成
return Character.toString(str.charAt(i));
或
是的,这是类型不匹配
public String everyNth(String str, int n) {
表示您的方法返回类型字符串,但
return str.charAt(i);
实际上是返回一个字符
你可以把那行改成
return Character.toString(str.charAt(i));
或
是的,这是类型不匹配
public String everyNth(String str, int n) {
表示您的方法返回类型字符串,但
return str.charAt(i);
实际上是返回一个字符
你可以把那行改成
return Character.toString(str.charAt(i));
或
str.charAt(i)
返回一个char
。这与字符串不同,这就是编译器抱怨类型不匹配的原因
您可以使用String.valueOf(theChar)
对其进行转换
或者您可以使用str.substring(i,i+1)
来获取一个字符串(只有一个字符),而不是char
str.charAt(i)
返回一个char
。这与String
不同,这就是编译器抱怨类型不匹配的原因
您可以使用String.valueOf(theChar)
对其进行转换
或者您可以使用str.substring(i,i+1)
来获取一个字符串(只有一个字符),而不是char
str.charAt(i)
返回一个char
。这与String
不同,这就是编译器抱怨类型不匹配的原因
您可以使用String.valueOf(theChar)
对其进行转换
或者您可以使用str.substring(i,i+1)
来获取一个字符串(只有一个字符),而不是char
str.charAt(i)
返回一个char
。这与String
不同,这就是编译器抱怨类型不匹配的原因
您可以使用String.valueOf(theChar)
对其进行转换
或者您可以使用str.substring(i,i+1)
获取一个字符串(仅包含一个字符)与char
不同,char和String是不同的类型。第二种解决方案是正确的。它被定义为String并返回String。第一种解决方案在两个方面是错误的:它在需要字符串时返回char,并将return语句放入for循环中。您只能从函数返回一次,因此for loop在该函数中是无用的。字符和字符串是不同类型的。您的第二个解决方案是正确的。它被定义为字符串并返回字符串。您的第一个解决方案在两个方面是错误的:当需要字符串时,它返回字符,并且它将返回语句放入for循环。您只能从函数返回一次,因此for loop在该函数中是无用的。字符和字符串是不同类型的。您的第二个解决方案是正确的。它被定义为字符串并返回字符串。您的第一个解决方案在两个方面是错误的:当需要字符串时,它返回字符,并且它将返回语句放入for循环。您只能从函数返回一次,因此for loop在该函数中是无用的。字符和字符串是不同类型的。您的第二个解决方案是正确的。它被定义为字符串并返回字符串。您的第一个解决方案在两个方面是错误的:当需要字符串时,它返回字符,并且它将返回语句放入for循环。您只能从函数返回一次,因此for loop在该函数中无效。此循环:
for (int i=0; i<str.length(); i = i +n) {
return str.charAt(i);
}
此循环:
for (int i=0; i<str.length(); i = i +n) {
return str.charAt(i);
}
此循环:
for (int i=0; i<str.length(); i = i +n) {
return str.charAt(i);
}
此循环:
for (int i=0; i<str.length(); i = i +n) {
return str.charAt(i);
}
谢谢!如果问题以:public String开头,那么我的最终结果需要返回字符串?谢谢!如果问题以:public String开头,那么我的最终结果需要返回字符串?谢谢!如果问题以:public String开头,那么我的最终结果需要返回字符串?谢谢!如果问题以:public String,那么我的最终结果需要返回一个字符串吗?