为了账号安全,请及时绑定邮箱和手机立即绑定

请问private Boolean clear_flag;并未进行初始化,为何在getResult()方法中可以直接if(clear_flag){clear_flag=false;return;}

private void getResult()
{
 String exp=et_input.getText().toString();
 
 if(exp==null||exp.equals(""))
 {
  return;
 }
 if(!exp.contains(" "))
 {
  return;
 }
 //System.out.println(clear_flag);
 if(clear_flag)
 {
  clear_flag=false;
  return;
 }
 clear_flag=true;
 double result=0;
 String s1=exp.substring(0, exp.indexOf(" "));
 String op=exp.substring(exp.indexOf(" ")+1, exp.indexOf(" ")+2);
 String s2=exp.substring(exp.indexOf(" ")+3);
 if(!s1.equals("")&&!s2.equals(""))
 {
  double d1=Double.parseDouble(s1);
  double d2=Double.parseDouble(s2);
 
 if(op.equals("+"))
 {
  result=d1+d2;
 }
 else if(op.equals("-"))
 {
  result=d1-d2;
 }
 else if(op.equals("*"))
 {
  result=d1*d2;
 }
 else if(op.equals("/")){
  if(d2==0)
  {
   result=0;
  }
  else{
  result=d1/d2;
  }
 }
 
 if(!s1.contains(".")&&!s2.contains(".")&&!op.contains("/"))
 {
  int r=(int)result;
  et_input.setText(r+"");
 }
 else
 {
  et_input.setText(result+"");
 }
 }
 else if(!s1.equals("")&&s2.equals(""))
 {
  et_input.setText(exp);
 }
 else if(s1.equals("")&&!s2.equals(""))
 {
  
   double d1=Double.parseDouble(s1);
   double d2=Double.parseDouble(s2);
  
  if(op.equals("+"))
  {
   result=0+d2;
  }
  else if(op.equals("-"))
  {
   result=0-d2;
  }
  else if(op.equals("*"))
  {
   result=0;
  }
  else if(op.equals("/")){
   
    result=0;
   
   
  }
  }
 
 else
 {
  et_input.setText("");
 }

正在回答

1 回答

哪只是个普通的变量不会要接受像btn_0这些从xml中传过来的值。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第一门课(入门篇)
  • 参与学习       312584    人
  • 解答问题       4633    个

想快速掌握Android应用开发基础,选择学习这门课程就对了。

进入课程

请问private Boolean clear_flag;并未进行初始化,为何在getResult()方法中可以直接if(clear_flag){clear_flag=false;return;}

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信