第一个小程序---计算器开发中遇到的问题总结

来源:互联网 发布:类是爱情2只有我知第一 编辑:程序博客网 时间:2024/05/22 10:55

作为一个小白,想写一个简单的计算器练练手,结果出现了各种问题,还差点导致eclipse崩溃......为了留个教训,特此记录下遇到的问题和解决办法。

首先碰到的便是布局中EditText问题。将代码展示如下:

<EditText         android:id="@+id/et"        android:text="@string/bu_no_0"         android:textSize="35sp"        android:textColor="#0000FF"        android:lines="1"         android:layout_gravity="center"         android:gravity="bottom|right"        android:cursorVisible="false"         android:editable="false"        android:inputType="none"         android:scrollHorizontally="true"         android:layout_height="wrap_content"         android:layout_width="fill_parent"         />         
本身代码是没有问题的,问题出现在图形预览界面,报的错误信息已经是Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V;后来查了下资料,才发现是因为android version的问题,因为android 4.4W不支持EditText,所以才无法预览。解决办法是打开小机器人的下拉列表,调整为其他的版本,就可以图形化预览了。

再者难点和重点就是怎么样将字符串计算机计算出来,搜了一些资料后,大致的思路是先将中缀表达式转化为后缀表达式,然后用栈来处理。(这个对于我来说太高深了,不会用也看不太懂)。后来找了一个“蠢”办法,就是用bsh。先附上下载链接:http://www.beanshell.org/download.html下载bsh-2.0b4.jar

下载成功后,要先将你的下载目录添加进classpath里面。然后再将该jar包导入到项目里面去。导入的方法很简单,将该包复制到项目文件的libs目录下,然后右键单击该包,选择build path ----->add to build path,就可以了。

最后就是怎么使用了,附上一段代码,相信都可以看懂用法。

Interpreter interpreter = new Interpreter();       try {    interpreter.set("result", interpreter.eval("("+s+")"));       //打印输出结果   et.setText(String.valueOf(interpreter.get("result")));  } catch (EvalError e) {     e.printStackTrace();    }  
虽然说程序很简单,但是也花了我好长时间,看来还是有很长的路要走啊。

0 0