这是我第一次在分数计算器中使用tokenizer。我尝试了尽可能多地遵循语法,但得到了这个丑陋的错误:
Fraction.java:78: error: no suitable constructor found for
StringTokenizer(Fraction,String,boolean)
StringTokenizer parser = new StringTokenizer(oldMeasure, "/", true);
constructor StringTokenizer.StringTokenizer(String) is not applicable
(actual and formal argument lists differ in length)
constructor StringTokenizer.StringTokenizer(String,String) is not applicable
(actual and formal argument lists differ in length)
constructor StringTokenizer.StringTokenizer(String,String,boolean) is not applicable
(actual argument Fraction cannot be converted to String by method invocation conversion)下面是代码
public void read(Scanner theKeyboard)
{
StringTokenizer parser = new StringTokenizer(oldMeasure, "/");
if(parser.countTokens() !=2)
throw new RuntimeException("bad format for fraction");
myNumerator = Integer.parseInt(parser.nextToken());
myDenominator = Integer.parseInt(parser.nextToken());
}发布于 2014-03-26 03:04:33
传入构造函数的第一个参数必须是String。它是一个Fraction,不是一个String。找到把它转换成String的方法,Java编译器不能帮你做到这一点,而且在不太了解Fraction类型的情况下可以得到的建议很少。
https://stackoverflow.com/questions/22643714
复制相似问题