Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java编写一个递归函数,使用字符串标记器查找并打印给定字符串上的标记_Java_Recursion - Fatal编程技术网

用java编写一个递归函数,使用字符串标记器查找并打印给定字符串上的标记

用java编写一个递归函数,使用字符串标记器查找并打印给定字符串上的标记,java,recursion,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(".")

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

但实际输出是不可比较的类型String和char

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

这是程序的正确输出-其中有一个编译错误,比较了exttoken和char“”。它们确实是无与伦比的——一个是对象类型,另一个是原语。第一步:停止使用StringTokenizer。你知道它被弃用多久了吗?我很惊讶它居然还在语言中。您当前的问题是:st1.nextToken=''。st1.nextToken返回一个字符串,是一个字符。更正后没有语法错误,但在运行时出现错误java.util.NoSuch ElementException在递归函数的其他部分我已经重写了代码,但比允许的字符长度长,所以:希望您理解。