editText값들 중 두개의 값을 넣으면 나머지 editText에 각 결과값이 들어갑니다
그런데 문제는.. editText 두개의 값을 넣을 때에 한자리 숫자로는 계산이 되는데 2자리 숫자 이상을 넣으면 계산 자체가 안됩니다. 앱 중지도 되지 않지만요... 고수님들 알려주십셔~~
public void onButton20Clicked(View v) {
double num3 = P1;
double num4 = Pdb;
double num5 = U1;
double num6 = Udb;
double num7 = I2;
double num8 = Idb;
if (editText53.getText().length()==0 & editText54.getText().length() ==0 & editText55.getText().length() ==0 & editText56.getText().length() ==0 & editText57.getText().length()==0 &
editText58.getText().length()==0 & editText59.getText().length()==0) { //숫자가 입력되지 않는다면 "숫자를 입력해주세요" Toast메시지가 나옴.
Toast.makeText(getApplicationContext(), "숫자를 입력해 주세요.", Toast.LENGTH_LONG).show();}
{
if (editText53.getText().length() == 1 & editText54.getText().length() == 0 & editText55.getText().length() == 0 & editText56.getText().length() == 0 & editText57.getText().length() == 0 &
editText58.getText().length() == 0 & editText59.getText().length() == 1) {
double num1 = Double.parseDouble(editText53.getText().toString()) * num3; //p
double num2 = Double.parseDouble(editText59.getText().toString()); //R
double pdb = (10*Math.log10(num1))*num4;
editText54.setText(Double.toString(pdb));
double u = Math.sqrt(num1*num2)*num5;
editText55.setText(Double.toString(u));
double udb = (20*Math.log10(u))*num6;
editText56.setText(Double.toString(udb));
double i = Math.sqrt(num1/num2)*num7;
editText57.setText(Double.toString(i));
double idb = (20*Math.log10(i))*num8;
editText58.setText(Double.toString(idb));
}