程序:计算器。
功能:用户随意输入自己想要计算的数字,支持 + - * / 小数。比如:输入:12+21-30+3/2-1*5 计算结果:-0.5
问题:(界面可参考android手机自带计算器) 显示输入用的editText,当用户输入12+21-30+3/2-1*5 按=号需要结算结果,我需要把上面的这个string型的字符串 "12+21-30+3/2-1*5" 拆分出来并按照先乘除后加减的定律来进行计算,想了半天不知道怎么拆分运算符和数值,并计算。
我想过当用户每次按运算符的时候,在后面计算出结果,并保存,那么当按 = 号的时候把这个结果显示出来就行了,前面显示的字符串就不管它了,这样也可以实现。但我还是想把这个字符串拆分并计算出来~~~
希望各位指导下... 谢谢。

解决方案 »

  1.   

    贴出XML代码:<?xml version="1.0" encoding="utf-8"?>
    <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
    android:layout_height="wrap_content" android:layout_width="match_parent">    
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button7"
    android:text="7"
    android:layout_x="0dp"
    android:layout_y="166dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button4"
    android:text="4"
    android:layout_x="0dp"
    android:layout_y="245dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button1"
    android:text="1"
    android:layout_x="0dp"
    android:layout_y="326dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button8"
    android:text="8"
    android:layout_x="80dp"
    android:layout_y="166dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button9"
    android:text="9"
    android:layout_x="160dp"
    android:layout_y="166dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button14"
    android:text="/"
    android:layout_x="241dp"
    android:layout_y="166dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button2"
    android:text="2"
    android:layout_x="80dp"
    android:layout_y="326dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button5"
    android:text="5"
    android:layout_x="80dp"
    android:layout_y="245dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button6"
    android:text="6"
    android:layout_x="160dp"
    android:layout_y="245dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button3"
    android:text="3"
    android:layout_x="160dp"
    android:layout_y="326dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button12"
    android:text="-"
    android:layout_x="241dp"
    android:layout_y="326dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button10"
    android:text="0"
    android:layout_x="80dp"
    android:layout_y="406dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button15"
    android:text="="
    android:layout_x="160dp"
    android:layout_y="406dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button11"
    android:text="+"
    android:layout_x="241dp"
    android:layout_y="406dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button16"
    android:text="."
    android:layout_x="0dp"
    android:layout_y="406dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button13"
    android:text="*"
    android:layout_x="241dp"
    android:layout_y="245dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <Button android:layout_width="82dp"
    android:layout_height="74dp"
    android:id="@+id/button17"
    android:text="Del"
    android:layout_x="240dp"
    android:layout_y="84dp"
    android:textStyle="bold"
    android:textSize="30dip"/>
        <EditText android:layout_width="match_parent"
    android:layout_height="62dp"
    android:id="@+id/editText1"
    android:layout_x="1dp"
    android:layout_y="14dp"
    android:gravity="right"
    android:textSize="40dip"
    android:enabled="false"
    android:textStyle="bold"
    android:textColor="#FFFFFF"
    android:singleLine="true"/>
    <AnalogClock android:id="@+id/analogClock1"
    android:layout_height="90dp"
    android:layout_width="106dp"
    android:layout_x="90dp"
    android:layout_y="75dp"/>
    </AbsoluteLayout>
      

  2.   

    http://www.eoeandroid.com/thread-116064-1-2.html 
      看看。希望可以帮到你、
      

  3.   

    http://www.eoeandroid.com/thread-116064-1-2.html