用Java编写一个递归函数,该函数使用String Tokenizer

时间:2019-07-08 10:06:32

标签: java recursion

我正在发送一个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

1 个答案:

答案 0 :(得分:0)

首先,如果要比较对象,请像在.equals()一样使用st1.equals(".")。 其次,错误在这里st1.nextToken()==' '中,您得到的错误告诉您正在比较两种不同的数据类型(String是对象,而char是原始类型),您可以通过{{1 }}。 请注意,双引号(“”)用于字符串,单引号('')用于char。 第三,类通常以大写字母开头,因此将每个st1.nextToxen().equals(" ")更改为test2