0

倍数の簡単な電卓を作ろうとしています。ほとんどの作業を完了しましたが、同じエラーが発生し続けます: 演算子 * は、引数の型 Double、EditText に対して未定義です。

他の方の質問を調べてみたのですが、ダブルスとは別のことを扱っているシンプルなものだけでした。誰もそれを修正する方法を知っていますか?

package com.deitel.multiplicationtables;

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

//Implements the listener for an onclick event (implements View.onClickListener)
public abstract class Main extends Activity implements View.OnClickListener{
   // creates a button 
    private Button one, two, three, four, five, six, seven, eight, nine;

    // Called when the activity is first created.
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

      //assigns the resource id of 1 - 9 to each button.
        one = (Button) findViewById(R.id.button1);
        two = (Button) findViewById(R.id.button2);
        three = (Button) findViewById(R.id.button3);
        four = (Button) findViewById(R.id.button4);
        five = (Button) findViewById(R.id.button5);
        six = (Button) findViewById(R.id.button6);
        seven = (Button) findViewById(R.id.button7);
        eight = (Button) findViewById(R.id.button8);
        nine = (Button) findViewById(R.id.button9);

        //Adds the buttons to the onclicklistener
        one.setOnClickListener(this);
        two.setOnClickListener(this);
        three.setOnClickListener(this);
        four.setOnClickListener(this);
        five.setOnClickListener(this);
        six.setOnClickListener(this);
        seven.setOnClickListener(this);
        eight.setOnClickListener(this);
        nine.setOnClickListener(this);

    }

  //creates a method (or action) for when the button is clicked.
    public void onclick(View view)
    {
        //Makes a variable for the entered number
        Double amount;
        Double product;
        Double variable;

        // constants
        final double one = 1; 
        final double two = 2;
        final double three = 3;


        if (view.getId() == R.id.button1)
        {
          variable = one;
        }
        if (view.getId() == R.id.button2)
        {
            variable = two;
        }
        if (view.getId()== R.id.button3)
        {
            variable = three;
        }




        //creates an editext and assigns the resource id of the xml edittext.
        EditText number = (EditText)findViewById(R.id.editText1);



        //Receives the input from the edittext, converts it to a double (number).
        amount = Double.parseDouble(number.getText().toString());
        //Calculates the product
        product = variable * number;


        //Creates a textview object, assigns the xml r.id, and then changes the text to report the amount.
         TextView t = (TextView)findViewById(R.id.textView2); 
            t.setText("Your product is: " + product);

    }



}
4

3 に答える 3

6
 EditText number = (EditText)findViewById(R.id.editText1);


 product = variable * number;

numberタイプEditTextです。重複*して申し込むことはできません。EditText

製品の計算は次のようになります。

   product = variable * amount;

amountあなたが得た値ですEditText

于 2012-10-30T22:00:14.080 に答える
3

テキストを という値に変換しましたamountが、それを使用するのを忘れました。

この線

product = variable * number;

する必要があります

product = variable * amount;

これで問題は解決するはずです。

于 2012-10-30T22:00:19.233 に答える
3
 //creates an editext and assigns the resource id of the xml edittext.
        EditText number = (EditText)findViewById(R.id.editText1);

        //Calculates the product
        product = variable * number;

タイプでadouble (variable)を乗算しようとしているため、EditText (number)Error

ローカル変数エラーの編集:

local variablesdefaultそれらの値を取得しないでくださいinitialize。メソッド内で使用する前にそれらを取得する必要があります

 public void onclick(View view)
    {
        //Makes a variable for the entered number
        Double amount=0.0; //initialize this
        Double product=0.0;//initialize this
        Double variable=0.0;//initialize this
于 2012-10-30T22:03:02.107 に答える