今、数式を"+" "-" "21" "5^3"といったトークンに分解する機能まで実装し終わって、
その分解したトークンを仕分ける、separateという関数を作成中なのですが、
手始めに
abstract class Element{}
class Number extends Element{}
class Exponent extends Element{}
Number calcurate(Number n1,Number n2,char expr){}
Exponent calcurate(Exponent n1,Number n2,char expr){}
Exponent calcurate(Number n1,Exponent n2,char expr){}
Exponent calcurate(Exponent n1,Exponent n2,char expr)
Element separate(String line){
if(
/* いろいろな条件分岐 */
)
return new Number(line);
else return new Exponent(line);
}
関数の戻り値でElement型にしたせいか、例外が出てしまいます。
どのように実装をかえればいいですか?