2017-02-09 11 views
-1

現在、私はユーザーの運賃を計算するプロジェクトを作っています。電卓は、出発駅の地点から目的地までの3駅ごとに5を加算します。現在、私はif elseステートメントを使用しています。任意の考え方どのようにアルゴリズムを定式化することができますか? ifelseを使用すると、コードが多すぎます。電車運賃計算.Android

MainActivity.javaコード

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 

    // uicontrols 
    Spinner spStart; 
    Spinner spDestination; 
    Button btnsubmit; 

    //class members 
    ArrayAdapter<String> adapterBusinessType; 

    // local members 
    String sdestination,sstart; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     spStart = (Spinner) findViewById(R.id.spStart); 
     spDestination = (Spinner) findViewById(R.id.spDestination); 

     btnsubmit=(Button)findViewById(R.id.submit); 
     btnsubmit.setOnClickListener(this); 

     // Initialize and set Adapter 

     // Country Item Selected Listener 
     spStart.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

      @Override 
      public void onItemSelected(AdapterView<?> adapter, View v, 
            int position, long id) { 
       // On selecting a spinner item 
       sstart = adapter.getItemAtPosition(position).toString(); 

       // Showing selected spinner item 
       Toast.makeText(getApplicationContext(), 
        "Selected Country : " + sstart, Toast.LENGTH_SHORT).show(); 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
       // TODO Auto-generated method stub 

      } 
     }); 
     // Business Type Item Selected Listener 
     spDestination.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

      @Override 
      public void onItemSelected(AdapterView<?> adapter, View v, 
            int position, long id) { 
       // On selecting a spinner item 
       sdestination = adapter.getItemAtPosition(position).toString(); 

       // Showing selected spinner item 
       Toast.makeText(getApplicationContext(), 
        "Bussiness Type : " + sdestination, Toast.LENGTH_SHORT).show(); 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
       // TODO Auto-generated method stub 

      } 
     }); 
    } 

    @Override 
    public void onClick(View v) { 
     TextView textView = (TextView)findViewById(R.id.textView); 
     TextView textView2 = (TextView)findViewById(R.id.textView2); 
     if(sstart.equals("Recto") && sdestination.equals(("Legarda"))){ 
        textView.setText("Single Journey : 15"); 
        textView2.setText("Beep Balance : 13"); 

       } 
     else if(sstart.equals("Recto") && sdestination.equals(("Pureza"))){ 
        textView.setText("Single Journey : 15"); 
        textView2.setText("Beep Balance : 13"); 

       } 
     else if(sstart.equals("Recto") && sdestination.equals(("V Mapa"))){ 
       textView.setText("Single Journey : 15"); 
       textView2.setText("Beep Balance : 13"); 

      } 

     else if(sstart.equals("Recto") && sdestination.equals(("J.Ruiz"))){ 
        textView.setText("Single Journey : 20"); 
        textView2.setText("Beep Balance : 13"); 

       } 
     else if(sstart.equals("Recto") && sdestination.equals(("Gilmore"))){ 
      textView.setText("Single Journey : 20"); 
      textView2.setText("Beep Balance : 13"); 

     } 
     else if(sstart.equals("Recto") && sdestination.equals(("Betty Go Belmonte"))){ 
      textView.setText("Single Journey : 20"); 
      textView2.setText("Beep Balance : 13"); 

     } 
     else if(sstart.equals("Recto") && sdestination.equals(("Araneta Center Cubao"))){ 
      textView.setText("Single Journey : 20"); 
      textView2.setText("Beep Balance : 13"); 

     } 
     else if(sstart.equals("Recto") && sdestination.equals(("Anonas Station"))){ 
      textView.setText("Single Journey : 25"); 
      textView2.setText("Beep Balance : 13"); 

     } 
     else if(sstart.equals("Recto") && sdestination.equals(("Katipunan"))){ 
      textView.setText("Single Journey : 25"); 
      textView2.setText("Beep Balance : 13"); 

     } 
     else if(sstart.equals("Recto") && sdestination.equals(("Santolan"))){ 
      textView.setText("Single Journey : 25"); 
      textView2.setText("Beep Balance : 13"); 
     } 
    } 
} 
+0

を助けplzはあなたがこれまでにしようとしているものを投稿しますか? –

+0

私の答えをご覧くださいありがとうございますsomuch –

+0

ようこそStackoverflow。コードやログなど、提供している追加情報で元の質問を編集してください。このサイトは特定のプログラミング問題のQ&Aのためのサイトです。必要に応じて書いた回答をいつでも削除することができます。 –

答えて

0

の代わりにあなただけの出発点との間がありますどのように多くの局が見えた場合/他の巨人:

は現在、このコードは、私がこれまで持っているものですその方法で運賃を計算してください。

int numStations = getNumStations(); 
int fare = (numStations/3) * 5 

希望これは

関連する問題