在Android Studio中整理Java代码

在Android Studio中整理Java代码,java,android,android-studio,Java,Android,Android Studio,我将如何着手清理这些if语句和诸如此类的内容 我尝试了一些条件,但似乎失败了 将显示帮助。您可以使用Alt+Enter并在每个if条件下选择Invert'if'条件。结果看起来像- Button crossButton = (Button) findViewById(R.id.crossButton); crossButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick

我将如何着手清理这些if语句和诸如此类的内容

我尝试了一些条件,但似乎失败了


将显示帮助。

您可以使用
Alt+Enter
并在每个
if
条件下选择
Invert'if'条件。结果看起来像-

Button crossButton = (Button) findViewById(R.id.crossButton);
crossButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if (!x1.getText().toString().equals("")) {
            if (!x2.getText().toString().equals("")) {
                if (!x3.getText().toString().equals("")) {
                    if (!y1.getText().toString().equals("")) {
                        if (!y2.getText().toString().equals("")) {
                            if (!y3.getText().toString().equals("")) {
                                double x1no = Double.parseDouble(x1.getText().toString());
                                double x2no = Double.parseDouble(x2.getText().toString());
                                double x3no = Double.parseDouble(x3.getText().toString());
                                double y1no = Double.parseDouble(y1.getText().toString());
                                double y2no = Double.parseDouble(y2.getText().toString());
                                double y3no = Double.parseDouble(y3.getText().toString());
                                double z1 = (x2no * y3no) - (x3no * y2no);
                                double z2 = (x3no * y1no) - (x1no * y3no);
                                double z3 = (x1no * y2no) - (x2no * y1no);
                                resultText.setText(getString(R.string.decimal_vector_output, z1, z2, z3));
                            } else { y3.setError("Needs value"); y3.requestFocus(); }
                        } else { y2.setError("Needs value"); y2.requestFocus(); }
                    } else { y1.setError("Needs value"); y1.requestFocus(); }
                } else { x3.setError("Needs value"); x3.requestFocus(); }
            } else { x2.setError("Needs value"); x2.requestFocus(); }
        } else { x1.setError("Needs value"); x1.requestFocus(); }
    }
});
Button crossButton = (Button) findViewById(R.id.crossButton);
crossButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {  
        double x1no = getDoubleValue(x1);
        double x2no = getDoubleValue(x2);
        double x3no = getDoubleValue(x3);
        double y1no = getDoubleValue(y1);
        double y2no = getDoubleValue(y2);
        double y3no = getDoubleValue(y3);
        double z1 = (x2no * y3no) - (x3no * y2no);
        double z2 = (x3no * y1no) - (x1no * y3no);
        double z3 = (x1no * y2no) - (x2no * y1no);
});

        private Double getDoubleValue(double x){
            if(!x.getText().toString().equals(""){
            //if(x != null){
                return Double.parseDouble(x.getText().toString());
            }
            else{
                x.setError("Needs value"); 
                x.requestFocus();
            }
        }

要解决嵌套if问题并优化代码,可以使用早期返回编码样式

对于您的问题:

if (x1.getText().toString().equals("")) { x1.setError("Needs value"); x1.requestFocus(); } else {
                    if (x2.getText().toString().equals("")) { x2.setError("Needs value"); x2.requestFocus(); } else {
                        if (x3.getText().toString().equals("")) { x3.setError("Needs value"); x3.requestFocus(); } else {
                            if (y1.getText().toString().equals("")) { y1.setError("Needs value"); y1.requestFocus(); } else {
                                if (y2.getText().toString().equals("")) { y2.setError("Needs value"); y2.requestFocus(); } else {
                                    if (y3.getText().toString().equals("")) { y3.setError("Needs value"); y3.requestFocus(); } else {
                                        double x1no = Double.parseDouble(x1.getText().toString());
                                        double x2no = Double.parseDouble(x2.getText().toString());
                                        double x3no = Double.parseDouble(x3.getText().toString());
                                        double y1no = Double.parseDouble(y1.getText().toString());
                                        double y2no = Double.parseDouble(y2.getText().toString());
                                        double y3no = Double.parseDouble(y3.getText().toString());
                                        double z1 = (x2no * y3no) - (x3no * y2no);
                                        double z2 = (x3no * y1no) - (x1no * y3no);
                                        double z3 = (x1no * y2no) - (x2no * y1no);
                                        resultText.setText(getString(R.string.decimal_vector_output, z1, z2, z3));
                                    }
                                }
                            }
                        }
                    }
                }

询问代码检查函数编程在这里会很好地工作。。。
Button crossButton = (Button) findViewById(R.id.crossButton);
crossButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

 if (x1.getText().toString().equals("")) {
    x1.setError("Needs value"); x1.requestFocus();

    return;
   }

 if (x2.getText().toString().equals("")) {
    x2.setError("Needs value"); x2.requestFocus();

return;
  }

  if (x3.getText().toString().equals("")) {
x3.setError("Needs value"); x3.requestFocus();

return;
  }

  if (y1.getText().toString().equals("")) {
y1.setError("Needs value"); y1.requestFocus();

return;
  }

  if (y2.getText().toString().equals("")) {
y2.setError("Needs value"); y2.requestFocus();

return;
}

   if (y3.getText().toString().equals("")) {

y3.setError("Needs value"); y3.requestFocus();

return;
}

             double x1no =  Double.parseDouble(x1.getText().toString());
                            double x2no = Double.parseDouble(x2.getText().toString());
                            double x3no = Double.parseDouble(x3.getText().toString());
                            double y1no = Double.parseDouble(y1.getText().toString());
                            double y2no = Double.parseDouble(y2.getText().toString());
                            double y3no = Double.parseDouble(y3.getText().toString());
                            double z1 = (x2no * y3no) - (x3no * y2no);
                            double z2 = (x3no * y1no) - (x1no * y3no);
                            double z3 = (x1no * y2no) - (x2no * y1no);
                            resultText.setText(getString(R.string.decimal_vector_output, z1, z2, z3));
});