急求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(""); 展开
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(""); 展开
2个回答
展开全部
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一个字符串对象。这里是干吗用的,由于没看到完整程序,不清楚。
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一个字符串对象。这里是干吗用的,由于没看到完整程序,不清楚。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询