我必须使用一个空白来标记一个字符串,使用这个构造函数:
StringTokenizer st = new StringTokenizer(str, " ");
我认为这与相同
StringTokenizer st = new StringTokenizer(str);
问题是,当我尝试使用空白作为分隔符时,它只使用第一个标记,因此输出如下:
3 5 + //this is the string which has to be tokenized
3 | //these are the tokens it actually takes
如果我用逗号(或除空白之外的任何其他分隔符)做同样的事情,那么:
StringTokenizer st = new StringTokenizer(stringa, ",");
它工作正常,它拿走了我需要的所有代币:
3,5,+ //this is the string which has to be tokenized
3 | 5 | //these are the tokens it actually takes
8 | //this is the result of the sum
找到了解决方案,希望这能帮助到别人。我使用Scanner类对要标记的字符串进行标记,但方法不对,我不得不使用sc.nextLine()而不是sc.next()