完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
只是一个简易的计算器,实现了简单地计算功能,没有写回退功能
实现效果 java代码 package com.example.experiment2; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.TextView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private final String Tag=“MainActivity”; private TextView tv_input; private float result; private String fuhao; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initUi(); } private void initUi() { tv_input = findViewById(R.id.tv_input); } private String getresult() { String data= tv_input.getText().toString(); //将数字与运算符号切割 String[] str1 = data.split(“ ”); //循环计算,得到最后结果 while (str1.length!=1){ //×,÷计算方法 for(int i=0;i《str1.length;i++){ if(str1[i].equals(“×”)||str1[i].equals(“÷”)){ if(str1[i].equals(“×”)){ str1[i]=(Float.parseFloat(str1[i-1])*Float.parseFloat(str1[i+1]))+“”; int [] index=new int[]{i-1,i+1}; str1=deletestr(index,str1); }else { str1[i]=(Float.parseFloat(str1[i-1])/Float.parseFloat(str1[i+1]))+“”; int [] index=new int[]{i-1,i+1}; str1=deletestr(index,str1); } } } //+,-计算方法 for(int i=0;i《str1.length;i++){ if(“+”.equals(str1[i])||“-”.equals(str1[i])){ if(str1[i].equals(“+”)){ str1[i]=(Float.parseFloat(str1[i-1])+Float.parseFloat(str1[i+1]))+“”; int [] index=new int[]{i-1,i+1}; str1=deletestr(index,str1); }else { str1[i]=(Float.parseFloat(str1[i-1])-Float.parseFloat(str1[i+1]))+“”; int [] index=new int[]{i-1,i+1}; str1=deletestr(index,str1); } } } } return str1[0]; } //同时删除数组中计算完成符号左右数 private String[] deletestr(int [] i, String[] str1) { List《String》 strs=new ArrayList《String》(); for(String s:str1){ strs.add(s); } strs.remove(i[0]); strs.remove(i[1]-1); String str[]=new String[str1.length-2]; for(int j = 0;j《str.length;j++){ str[j]=strs.get(j); } return str; } private void tvInputtext(String s) { //第一次输入 将0去除,以及上次结果置空 if(tv_input.getText().toString().equals(“0”)||tv_input.getText().toString().contains(“=”)){ tv_input.setText(“”); } //符号左右添加空格方便split if(s.equals(“×”)||s.equals(“-”)||s.equals(“+”)||s.equals(“÷”)){ tv_input.setText(tv_input.getText()+“ ”+s+“ ”); }else { tv_input.setText(tv_input.getText()+s); } } //按钮点击事件 public void onSubmit(View view){ int id = view.getId(); switch (id){ case R.id.bt_value0: tvInputtext(“0”); break; case R.id.bt_value1: tvInputtext(“1”); break; case R.id.bt_value2: tvInputtext(“2”); break; case R.id.bt_value3: tvInputtext(“3”); break; case R.id.bt_value4: tvInputtext(“4”); break; case R.id.bt_value5: tvInputtext(“5”); break; case R.id.bt_value6: tvInputtext(“6”); break; case R.id.bt_value7: tvInputtext(“7”); break; case R.id.bt_value8: tvInputtext(“8”); break; case R.id.bt_value9: tvInputtext(“9”); break; case R.id.bt_cheng: tvInputtext(“×”); break; case R.id.bt_chu: tvInputtext(“÷”); break; case R.id.bt_clean: //清除按钮 置空 tv_input.setText(“”); break; case R.id.bt_dengyu: tv_input.setText(tv_input.getText()+“=”+getresult()); break; case R.id.bt_dian: tvInputtext(“。”); break; case R.id.bt_jia: tvInputtext(“+”); break; case R.id.bt_jian: tvInputtext(“-”); break; } } } XML文件 《?xml version=“1.0” encoding=“utf-8”?》 《LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android” xmlns:app=“http://schemas.android.com/apk/res-auto” xmlns:tools=“http://schemas.android.com/tools” android:layout_width=“match_parent” android:orientation=“vertical” android:padding=“15dp” android:layout_height=“match_parent” tools:context=“.MainActivity”》 《TextView android:layout_width=“match_parent” android:layout_height=“50dp” android:gravity=“right|center_vertical” android:paddingRight=“10dp” android:text=“0” android:id=“@+id/tv_input” android:textColor=“#030303” android:textSize=“25sp” /》 《Button android:layout_width=“match_parent” android:layout_height=“wrap_content” android:text=“清除” android:onClick=“onSubmit” android:textSize=“16sp” android:id=“@+id/bt_clean” android:layout_marginTop=“10dp” /》 《GridLayout android:layout_width=“match_parent” android:layout_height=“wrap_content” android:layout_marginTop=“10dp” android:columnCount=“5” android:rowCount=“5”》 《Button android:id=“@+id/bt_value7” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“0” android:layout_column=“0” android:text=“7” android:onClick=“onSubmit” android:textSize=“40dp” /》 《Button android:id=“@+id/bt_value8” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“0” android:layout_column=“1” android:text=“8” android:onClick=“onSubmit” android:textSize=“40dp” /》 《Button android:id=“@+id/bt_value9” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“0” android:layout_column=“2” android:text=“9” android:onClick=“onSubmit” android:textSize=“40dp” /》 《Button android:id=“@+id/bt_chu” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“0” android:layout_column=“3” android:text=“÷” android:onClick=“onSubmit” android:textSize=“40dp” /》 //第二行 《Button android:id=“@+id/bt_value4” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“1” android:layout_column=“0” android:text=“4” android:onClick=“onSubmit” android:textSize=“40dp” /》 《Button android:id=“@+id/bt_value5” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“1” android:layout_column=“1” android:text=“5” android:onClick=“onSubmit” android:textSize=“40dp” /》 《Button android:id=“@+id/bt_value6” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“1” android:layout_column=“2” android:text=“6” android:onClick=“onSubmit” android:textSize=“40dp” /》 《Button android:id=“@+id/bt_cheng” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“1” android:layout_column=“3” android:text=“×” android:onClick=“onSubmit” android:textSize=“40dp” /》 //第三行 《Button android:id=“@+id/bt_value1” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“2” android:layout_column=“0” android:text=“1” android:onClick=“onSubmit” android:textSize=“40dp” /》 《Button android:id=“@+id/bt_value2” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“2” android:layout_column=“1” android:text=“2” android:onClick=“onSubmit” android:textSize=“40dp” /》 《Button android:id=“@+id/bt_value3” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“2” android:layout_column=“2” android:text=“3” android:onClick=“onSubmit” android:textSize=“40dp” /》 《Button android:id=“@+id/bt_jian” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“2” android:layout_column=“3” android:text=“-” android:onClick=“onSubmit” android:textSize=“40dp” /》 //第四行 《Button android:id=“@+id/bt_dian” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“3” android:layout_column=“0” android:text=“。” android:onClick=“onSubmit” android:textSize=“40dp” /》 《Button android:id=“@+id/bt_value0” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“3” android:layout_column=“1” android:text=“0” android:onClick=“onSubmit” android:textSize=“40dp” /》 《Button android:id=“@+id/bt_dengyu” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“3” android:layout_column=“2” android:text=“=” android:onClick=“onSubmit” android:textSize=“40dp” /》 《Button android:id=“@+id/bt_jia” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_row=“3” android:layout_column=“3” android:text=“+” android:onClick=“onSubmit” android:textSize=“40dp” /》 《/GridLayout》 《/LinearLayout》 |
|
|
|
只有小组成员才能发言,加入小组>>
894浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 18:52 , Processed in 0.864074 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号