Android studio简单计算机

在activity_main.xml里布局:
(LinearLayout)
套个LinearLayout:

android:layout_width="wrap_content"android:layout_height="wrap_content">    这里用网格布局来布置按钮,完成计算机界面:    

定义一个可编辑的文本:
private EditText main_et_rs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
main_et_rs=findViewById(R.id.main_et_rs);

}activity_main.xml里面调用的方法:public void doSubmit(View view) {    int id = view.getId();    switch(id){        case R.id.but_1:            if( main_et_rs.getText().length()==0) {                main_et_rs.setText("1");            }else{                main_et_rs.setText(main_et_rs.getText() + "1");            }            break;        case R.id.but_2:            if( main_et_rs.getText().length()==0) {                main_et_rs.setText("2");            }else{                main_et_rs.setText(main_et_rs.getText() + "2");            }            break;        case R.id.but_3:            if( main_et_rs.getText().length()==0) {                main_et_rs.setText("3");            }else{                main_et_rs.setText(main_et_rs.getText() + "3");            }            break;        case R.id.but_4:            if( main_et_rs.getText().length()==0) {                main_et_rs.setText("4");            }else{                main_et_rs.setText(main_et_rs.getText() + "4");            }            break;        case R.id.but_5:            if( main_et_rs.getText().length()==0) {                main_et_rs.setText("5");            }else{                main_et_rs.setText(main_et_rs.getText() + "5");            }            break;        case R.id.but_6:            if( main_et_rs.getText().length()==0) {                main_et_rs.setText("6");            }else{                main_et_rs.setText(main_et_rs.getText() + "6");            }            break;        case R.id.but_7:            if( main_et_rs.getText().length()==0) {                main_et_rs.setText("7");            }else{                main_et_rs.setText(main_et_rs.getText() + "7");            }            break;        case R.id.but_8:            if( main_et_rs.getText().length()==0) {                main_et_rs.setText("8");            }else{                main_et_rs.setText(main_et_rs.getText() + "8");            }            break;        case R.id.but_9:            if( main_et_rs.getText().length()==0) {                main_et_rs.setText("9");            }else{                main_et_rs.setText(main_et_rs.getText() + "9");            }            break;        case R.id.but_0:            if( main_et_rs.getText().length()==0) {                main_et_rs.setText("0");            }else{                main_et_rs.setText(main_et_rs.getText() + "0");            }            break;        case R.id.but_d:            if( main_et_rs.getText().length()!=0) {                main_et_rs.setText(main_et_rs.getText() + ".");            }            break;        case R.id.but_jia:            if( main_et_rs.getText().length()!=0) {                main_et_rs.setText(main_et_rs.getText() + "+");            }            break;        case R.id.but_jian:            if( main_et_rs.getText().length()!=0) {                main_et_rs.setText(main_et_rs.getText() + "-");            }            break;        case R.id.but_x:            if( main_et_rs.getText().length()!=0) {                main_et_rs.setText(main_et_rs.getText() + "*");            }            break;        case R.id.but_c:            if( main_et_rs.getText().length()!=0) {                main_et_rs.setText(main_et_rs.getText() + "/");            }            break;        case R.id.but_dy:            if(main_et_rs.getText().toString().contains("+")){                String str1 = main_et_rs.getText().toString().substring(0, main_et_rs.getText().toString().lastIndexOf("+"));                String str2 = main_et_rs.getText().toString().substring(main_et_rs.getText().toString().lastIndexOf("+")+1,                        main_et_rs.getText().length());               Float a=Float.parseFloat(str1);                Float b=Float.parseFloat(str2);                main_et_rs.setText(a+b+"");            }            else if(main_et_rs.getText().toString().contains("-")){                String str1 = main_et_rs.getText().toString().substring(0, main_et_rs.getText().toString().lastIndexOf("-"));                String str2 = main_et_rs.getText().toString().substring(main_et_rs.getText().toString().lastIndexOf("-")+1,                        main_et_rs.getText().length());                Float a=Float.parseFloat(str1);                Float b=Float.parseFloat(str2);                main_et_rs.setText(a-b+"");            }            else if(main_et_rs.getText().toString().contains("*")){                String str1 = main_et_rs.getText().toString().substring(0, main_et_rs.getText().toString().lastIndexOf("*"));                String str2 = main_et_rs.getText().toString().substring(main_et_rs.getText().toString().lastIndexOf("*")+1,                        main_et_rs.getText().length());                Float a=Float.parseFloat(str1);                Float b=Float.parseFloat(str2);                main_et_rs.setText(a*b+"");            }            else if(main_et_rs.getText().toString().contains("/")){                String str1 = main_et_rs.getText().toString().substring(0, main_et_rs.getText().toString().lastIndexOf("/"));                String str2 = main_et_rs.getText().toString().substring(main_et_rs.getText().toString().lastIndexOf("/")+1,                        main_et_rs.getText().length());                Float a=Float.parseFloat(str1);                Float b=Float.parseFloat(str2);                main_et_rs.setText(a/b+"");            }            break;    }}

更多相关文章

  1. 2011.08.26——— android ListView之多个item布局
  2. 初学Android,五大布局对象(六)
  3. Android UI设计的三种常见布局(LinearLayout、RelativeLayout、Fr
  4. Android五大布局和ConstraintLayout
  5. Android - 4种基本布局
  6. 【Android】第7章(2)--布局控件常用的公共属性

随机推荐

  1. 面向边缘计算的资源优化技术研究进展
  2. js之留言板与数组字符串函数
  3. Go微服务入门到容器化实践,落地可观测的微
  4. Server Core App Compatibility
  5. 不产生第三个临时变量的前提交换两组数据
  6. YOLOv5目标检测实战:Jetson Nano部署
  7. 基于安全压缩感知的大数据隐私保护
  8. 专题导读:大数据隐私保护
  9. 专题导读:大数据整理
  10. 开放存取知识库及其数据采集规范的研究