Java实现isNaN

 
  
public boolean isNaN(String value){
boolean flag = false ;
if (value != null && ! "" .equals(value.trim())){
// 如果没有小数点
if (value.indexOf( " . " ) == - 1 ){
if ( ! value.matches( " \\d+ " )){
// 不是数字
flag = true ;
}
}
else if (value.indexOf( " . " ) == 1 ){
String[] s_arr
= value.split( " \\. " );
String s1
= s_arr[ 0 ];
String s2
= s_arr[ 1 ];
if (( ! s1.matches( " \\d+ " )) || ( ! s2.matches( " \\d+ " ))){
// 不是数字
flag = true ;
}
}
}
    
else {
      flag
= true ;
    }
return flag;
}

 

转载于:https://www.cnblogs.com/gaoyoubo/archive/2010/09/15/1965080.html

以下是一个简单的Android Java 计算器实现代码: ```java import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { EditText editText; Button button0, button1, button2, button3, button4, button5, button6, button7, button8, button9; Button buttonAdd, buttonSub, buttonMul, buttonDiv, buttonC, buttonCE, buttonPoint, buttonEqual; double value1 = Double.NaN, value2 = Double.NaN; boolean addition , subtraction , multiplication , division ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = findViewById(R.id.editText); button0 = findViewById(R.id.button0); button1 = findViewById(R.id.button1); button2 = findViewById(R.id.button2); button3 = findViewById(R.id.button3); button4 = findViewById(R.id.button4); button5 = findViewById(R.id.button5); button6 = findViewById(R.id.button6); button7 = findViewById(R.id.button7); button8 = findViewById(R.id.button8); button9 = findViewById(R.id.button9); buttonAdd = findViewById(R.id.buttonAdd); buttonSub = findViewById(R.id.buttonSub); buttonMul = findViewById(R.id.buttonMul); buttonDiv = findViewById(R.id.buttonDiv); buttonC = findViewById(R.id.buttonC); buttonCE = findViewById(R.id.buttonCE); buttonPoint = findViewById(R.id.buttonPoint); buttonEqual = findViewById(R.id.buttonEqual); button0.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editText.setText(editText.getText() + "0"); } }); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editText.setText(editText.getText() + "1"); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editText.setText(editText.getText() + "2"); } }); button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editText.setText(editText.getText() + "3"); } }); button4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editText.setText(editText.getText() + "4"); } }); button5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editText.setText(editText.getText() + "5"); } }); button6.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editText.setText(editText.getText() + "6"); } }); button7.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editText.setText(editText.getText() + "7"); } }); button8.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editText.setText(editText.getText() + "8"); } }); button9.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editText.setText(editText.getText() + "9"); } }); buttonPoint.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { editText.setText(editText.getText() + "."); } }); buttonAdd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { compute(); addition = true; editText.setText(null); } }); buttonSub.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { compute(); subtraction = true; editText.setText(null); } }); buttonMul.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { compute(); multiplication = true; editText.setText(null); } }); buttonDiv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { compute(); division = true; editText.setText(null); } }); buttonEqual.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { compute(); editText.setText(String.valueOf(value1)); value1 = Double.NaN; } }); buttonCE.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (editText.getText().length() > 0) { CharSequence currentText = editText.getText(); editText.setText(currentText.subSequence(0, currentText.length() - 1)); } } }); buttonC.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { value1 = Double.NaN; value2 = Double.NaN; editText.setText(null); } }); } private void compute() { if (!Double.isNaN(value1)) { value2 = Double.parseDouble(editText.getText().toString()); if (addition) { value1 += value2; } else if (subtraction) { value1 -= value2; } else if (multiplication) { value1 *= value2; } else if (division) { value1 /= value2; } } else { value1 = Double.parseDouble(editText.getText().toString()); } } } ``` 此代码将创建一个基本的界面和常规的按钮,使您能够执行简单的加法,减法,乘法和除法操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值