2016-09-26 169 views
0

我正在制作一个移动计算器,我知道有很多已经创建。我试图用其他人作为例子来建立我的,但我一直坚持了几天。当用户选择随机数时,我能够在EditText上显示数字,但我无法计算如何添加,分,多,除以用户选择的数字。请举例说明我如何解决它。这是我的第一个移动应用程序。如何在使用android studio的单个EditText中为用户随机添加两个或多个数字?

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    final TextView editText = (EditText) findViewById(R.id.edit_text); 

    final Button Button0 = (Button) findViewById(R.id.Button_0); 
    final Button Button1 = (Button) findViewById(R.id.Button_1); 
    Button Button2 = (Button) findViewById(R.id.Button_2); 
    Button Button3 = (Button) findViewById(R.id.Button_3); 
    Button Button4 = (Button) findViewById(R.id.Button_4); 
    Button Button5 = (Button) findViewById(R.id.Button_5); 
    Button Button6 = (Button) findViewById(R.id.Button_6); 
    Button Button7 = (Button) findViewById(R.id.Button_7); 
    Button Button8 = (Button) findViewById(R.id.Button_8); 
    Button Button9 = (Button) findViewById(R.id.Button_9); 

    Button clear_Btn = (Button) findViewById(R.id.C_Button); 
    Button decimal_Btn = (Button) findViewById(R.id.Decimal_Button); 
    Button equal_Btn = (Button) findViewById(R.id.equal_Button); 
    final Button add_Btn = (Button) findViewById(R.id.Addition_Button); 


    /////////////////// NUMBER BUTTONS /////////////////////// 

    Button0.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setText(editText.getText().toString() + 0); 
     } 
    }); 

    Button1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      editText.setText(editText.getText().toString() + 1); 

     } 

    }); 

    Button2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setText(editText.getText().toString() + 2); 
     } 
    }); 

    Button3.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setText(editText.getText().toString() + 3); 
     } 
    }); 

    Button4.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setText(editText.getText().toString() + 4); 
     } 
    }); 

    Button5.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setText(editText.getText().toString() + 5); 
     } 
    }); 

    Button6.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setText(editText.getText().toString() + 6); 
     } 
    }); 

    Button7.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setText(editText.getText().toString() + 7); 
     } 
    }); 

    Button8.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setText(editText.getText().toString() + 8); 
     } 
    }); 

    Button9.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setText(editText.getText().toString() + 9); 
     } 
    }); 


    ///////////////////// Sign Buttons ///////////////////// 

    // Clear Button 
    clear_Btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setText(""); 
     } 
    }); 

    // Decimal Button 
    decimal_Btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setText(editText.getText().toString() + "."); 
     } 
    }); 



    // Equal button 
    equal_Btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

     } 

     }); 



    // Add button 
    add_Btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      editText.setText(editText.getText().toString() + "+"); 


     } 
    }); 
} 

}

回答

0

几种方法可以做到这一点,你只需要一种方法来检索计算器当前的数量和对新选择的号码进行操作

所以存储主数在自己的变量中,然后在设置新的编辑文本值之前对新的数字执行所需的操作。

+0

请问您可以向我展示一个如何执行此操作的示例。我是新的,它很混乱。 – Sean

+0

@Sean不,将一个大问题分解成更小的可管理问题。你的新问题是,你不知道如何存储一个变量,所以想清楚。 – CQM

相关问题