2017-12-28 13 views
-7

との間の接続を作成する方法:Javaのタスクがあるクラス

が+または置くためにあらゆる可能性を出力するプログラム書く - 番号1,2の間、または何も、...、9(この順番で)など

  1. EquationCreatorにするための方程式を作成します。だから、私は3つのクラスが作成されている4 + 5 + 6 + 78 + 9 = 100

- 結果は、例えば、1 + 2 + 3 100であること私(Stringとして)

  • EquationConverterは
  • EquationInterpreterは、適切な方程式に整数のリストを変換し、 はそれをまとめた 整数リストにEquationCreatorによって作成された文字列に変換します。
  • それらを(接続するような)種類にする適切なアプローチは何でしょうか?私は継承を適用​​する必要がありますか、1つの大きなクラスまたは何か他のものを作成しますか?

    +2

    。 –

    +0

    あなたは間違いなく継承を使うべきではなく、 'String'を取る' SolveEquation'関数を書こうとしました。それはあなたが言及したすべてのクラスのオブジェクトを作成し、結果を返します。 。 – George

    +0

    別々の操作を行うために異なるクラスを持つ必要はありません。それがあなたの質問であれば、はい。それ以外の場合は、あなたの質問を改革してください。 – Jack

    答えて

    0

    あなたの質問は少し不明です。それが答えが必要な質問であれば、私は以下を提案したいと思います。

    • 問題の範囲を理解し、それに従って構造を計画します。別々のクラスを作成するのは、コードが複雑すぎたり、レイヤーが必要な場合に適しています。 3つのクラスのオブジェクト作成は、その質問を見る価値がありません。
    • あなたが持っている質問では、3つのクラスは必要ありません。 1つのクラスを作成し、それらのことを行う3つのメソッドを用意してください。

    コメントで示唆したように

    -1

    を役に立てば幸い、3つの方法を保持する単一のクラスがあなたのためにトリックを行う必要があります。

    public class Equation { 
    
        public String create(){ 
         // your logic for creating the equation 
        } 
    
        public List<Integer> convert(String equation){ 
         // your logic for converting and returning the list 
        } 
    
        public void interprete(List<Integer> list){ 
         // your logic for interpreting the list and do stuff with it 
        } 
    } 
    

    あなたは、そのクラスのインスタンスを作成することができますこの方法とメソッドを呼び出します。

    Equation e = new Equation(); 
    String equation = e.create(); 
    List<Integer> list = e.convert(equation); 
    e.interpret(list); 
    

    ます。また、その後、その結果がEquationクラスにロジックの上に置くことができますこのような方法でS:

    public void doAllSteps(){ 
        String equation = create(); 
        List<Integer> list = convert(equation); 
        interpret(list); 
    } 
    

    、最終的に次のように呼び出すことができます。私は、彼らが(EquationCreator、EquationConverter、EquationInterpreter)ONEクラスのメソッドだと思います

    Equation e = new Equation(); 
    e.doAllSteps(); 
    
    関連する問題