我正在发送一个StringTokenizer
对象及其长度。
import java.util.StringTokenizer;
import java.util.Scanner;
class test2
{
public String display(StringTokenizer st1,String str1,int l)
{
int counter = 0;
if(st1.nextToken()==' '||st1.equals("."))
return(str1);
else
{
str1 = st1.nextToken();
return(display(st1,str1,l));
}
}
public static void main()
{
StringTokenizer st = new StringTokenizer("Mount Carmel .");
String str2 = "";
test2 obj = new test2();
int l = st.countTokens();
for(int counter=0;counter<l;counter++)
{
str2=obj.display(st,"",l);
System.out.println(str2);
}
}
}
我希望输出
Mount
Carmel
但实际输出为incomparable types String and char
答案 0 :(得分:0)
首先,如果要比较对象,请像在.equals()
一样使用st1.equals(".")
。
其次,错误在这里st1.nextToken()==' '
中,您得到的错误告诉您正在比较两种不同的数据类型(String是对象,而char是原始类型),您可以通过{{1 }}。
请注意,双引号(“”)用于字符串,单引号('')用于char。
第三,类通常以大写字母开头,因此将每个st1.nextToxen().equals(" ")
更改为test2
。