0

私は Android の初心者なので、しばらくお待ちください :) 問題が発生しているコードは次のとおりです。

package com.example.matematika;

import java.math.BigDecimal;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class PravRacun extends Activity {
EditText editText1, editText2;
TextView output,output2;
Button Izracunaj,Izracunaj2;
BigDecimal rez1, rez2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_prav_racun);

editText1=(EditText) findViewById(R.id.editText1);
editText2=(EditText) findViewById(R.id.editText2);

Izracunaj=(Button) findViewById(R.id.button1);
Izracunaj2=(Button) findViewById(R.id.button2);

output=(TextView) findViewById(R.id.output);
output2=(TextView) findViewById(R.id.output2);

Izracunaj.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

rez1=new BigDecimal(editText1.getText().toString());
rez2=new BigDecimal(editText2.getText().toString());
output.setText(rez1.multiply(rez2).toString());
// here is a problem, how can I change this rez1.multiply(rez2) to something else?

}
});

Izracunaj2.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

rez1=new BigDecimal(editText1.getText().toString());
rez2=new BigDecimal(editText2.getText().toString());
output2.setText(rez1.add(rez2).add(rez1).add(rez2).toString());
}
});
}
} 

したがって、次の行:

//output.setText(rez1.multiply(rez2).toString());

実際にはこの最後の行が問題になっています。2 をこの rez1 に掛けようとすると、エラーが表示されます。どういうわけか値を変更できますか? 基本的に、私は EditText フィールドから 2 つの入力された値を取得し、それらを使って何かを行い、それらをいくつかの関数に入れたいと考えています。

どうもありがとう。

ブラジル、

アレックス

4

1 に答える 1

0

別の BigDecimal を作成し、そこに結果を入れてから、それを文字列に変換することをお勧めします。

BigDecimal result = rez1.multiply(rez2);
output.setText(result.toString());

また、問題が乗算にあるのか、文字列への変換にあるのかを調べる機会も与えてくれます。

于 2013-06-28T17:41:34.827 に答える