0

Ok、

だから私は、これがそこにいる誰かにとって非常に単純な問題であることを願っています.

プログラムは正常に動作し、エラーもクラッシュも発生しないので、良いスタートです!

問題は、私が間違った答えを得ていることです。

半分ほど下ると、ラインが見えるはずです

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

CAnum3は、ユーザー入力である に関連しています。したがって、ユーザーが 100 を入力した場合、editText2300 を に出力する必要があります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);

tv2とに同じ TextView を割り当てますtv3

于 2012-07-08T20:10:31.447 に答える