急求java代码的详解析 bt_9.setOnClickListener(new OnClickListener(){ public void onClick(View v){ str

Button19.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewv){//TODO... Button19.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
if (str_result!=""){
double b = Double.parseDouble(str_result);
str_result = ""+b*b;
entry.setText(String.valueOf(str_result));
}
}
还有这段代码if(str_oper.equals("*")){
g=Double.parseDouble(str_display.toString());
str_result=String.valueOf((b*g));
entry.setText(str_result);
str_display=new StringBuffer("");
展开
 我来答
JINLegend
2012-06-01 · TA获得超过802个赞
知道小有建树答主
回答量:241
采纳率:100%
帮助的人:126万
展开全部
Button19.setOnClickListener(new View.OnClickListener() {//添加一个OnClickListener接口的匿名实例/对象
public void onClick(View v) {//当click事件发生时会调用这个onclick方法
// TODO Auto-generated method stub
if (str_result!=""){//1:判断字符串是否与空串常量的内存地址相同,凡是在源代码中出现的"xxxxx",统统属于全局静态常量。字符串比较千万别用“==”“!=”。
double b = Double.parseDouble(str_result);
//2:把str_result的字符串转为double类型的数据
str_result = ""+b*b;
//3:把str_result设为b的平方。""+<数值型> ——〉转为字符串类型
entry.setText(String.valueOf(str_result));
//4:把entry的显示文字设为str_result,也即原来的输入的数字的平方。String.valueOf用得有点多余。
}
}
}

//以下的看来是对上面那段毛病代码的修正。
if(str_oper.equals("*")){//对代码1的修正,这才是判断字符串内容是否相同。
g=Double.parseDouble(str_display.toString());//跟代码2一个意思,只是转换的对象是一个字符串缓冲区里的字符串。这里不明白为什么要使用字符串缓冲区。
str_result=String.valueOf((b*g));
//等价于代码3。两者都对。
entry.setText(str_result);
//等价于代码4。
str_display=new StringBuffer("");
//为str_display开辟一个新的字符串缓冲区。字符串缓冲区的作用是避免每一次字符串拼接修改都得new一个字符串对象。这里是干吗用的,由于没看到完整程序,不清楚。
sntey
2012-06-06 · 超过10用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:31.1万
展开全部
这是android的。
1,Button19这个对象添加点击事件,这个事件是个接口,需要用户手动实现。
2,这个段吗就是个计算功能。我表示方法写的真心不怎么样。如果要准确计算的话要用BigDecimal
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式