0

行,

所以我希望这对于外面的人来说应该是一个非常简单的问题。

该程序运行良好,没有错误,没有崩溃,所以这是一个好的开始!

问题是我得到的答案不正确。

大约下到一半你应该能够看到这条线

CARV= CA*3; tv2.setText(Double.toString(CARV));

CA与 相关num3,这是用户输入。因此,如果用户在其中输入 100,editText2则应将 300 打印到tv2. 但相反,它给了我一个随机数,目前我假设它在打印答案之前考虑了上述行下方的额外计算。

我的问题是如何打印 CA*3 的答案?

非常感谢

private OnClickListener myClickListener = new OnClickListener()
{
    public void onClick(View v) {
        try{
        NS=Double.parseDouble(num1.getText().toString()); 
        CH=Double.parseDouble(num2.getText().toString());
        CA=Double.parseDouble(num3.getText().toString());
        Z=Double.parseDouble(num4.getText().toString());
        EKW=Double.parseDouble(num5.getText().toString());
        FAT=Double.parseDouble(num6.getText().toString());
        CART=Double.parseDouble(num7.getText().toString());
        GAT=Double.parseDouble(num8.getText().toString());}
        catch(Exception e)
        {
            if(num1.getText().length()==0)
            {
                num1.setError("please input ");
            }
            if(num2.getText().length()==0)
            {
                num2.setError("please input ");
            }
            if(num3.getText().length()==0)
            {
                num3.setError("please ");
            }
            if(num4.getText().length()==0)
            {
                num4.setError("please ");
            }
            if(num5.getText().length()==0)
            {
                num5.setError("please input ");
            }
            if(num6.getText().length()==0)
            {
                num6.setError("please input ");
            }
            if(num7.getText().length()==0)
            {
                num7.setError("please input ");
            }
            if(num8.getText().length()==0)
            {
                num8.setError("please input ");
            }

        }

        {SV=(((NS*CH)*4)/3600)/Z;SV=(double)(Math.round(SV*100))/100; tv1.setText(Double.toString(SV));
        CARV= CA*3; tv2.setText(Double.toString(CARV));
        FA= SV*0.1;
        GA= SV - (CARV + FA);
        RCARA= CARV/SV;
        RGA= GA/SV;
        RFA= FA/SV;
        CAO=(CARV*RCARA) + (GA*RGA) + (FA*RFA);
        DT= 26-CAO;
        RKW= DT * 1.21 * SV;RKW=(double)(Math.round(RKW*100))/100; tv3.setText(Double.toString(RKW));
        }

    }
};
    @Override
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.car1);

       tv1 = (TextView)findViewById(R.id.textView7);
       tv2 = (TextView)findViewById(R.id.textView8);
       tv3 = (TextView)findViewById(R.id.textView8);


       button01 = (Button)findViewById(R.id.button1);
       button01.setText("Display result");
       button01.setOnClickListener(myClickListener);

       num1 = (EditText)findViewById(R.id.EditText01);
       num1.setText("");
       num2 = (EditText)findViewById(R.id.editText1);
       num2.setText("");
       num3 = (EditText)findViewById(R.id.editText2);
       num3.setText("");
       num4 = (EditText)findViewById(R.id.editText3);
       num4.setText("");
       num5 = (EditText)findViewById(R.id.editText4);
       num5.setText("");
       num6 = (EditText)findViewById(R.id.editText5);
       num6.setText("-5");
       num7 = (EditText)findViewById(R.id.editText6);
       num7.setText("10");
       num8 = (EditText)findViewById(R.id.editText7);
       num8.setText("16");          
    }

}

4

1 回答 1

1

我认为你的问题在这里

tv2 = (TextView)findViewById(R.id.textView8);
tv3 = (TextView)findViewById(R.id.textView8);

您将相同的 TextView 分配给tv2tv3

于 2012-07-08T20:10:31.447 回答