Java新手,在名称/变量引用方面有问题

Java新手,在名称/变量引用方面有问题,java,android,android-studio,Java,Android,Android Studio,我已经用这个网站搜索了两个学期的具体错误。我知道我要问的问题比我在这个网站上搜索/阅读的大多数内容都更广泛和基本,但这是我在课堂之外唯一需要寻求信息的地方 现在我正在使用Android Studio开发一个简单的照片计算器手机应用程序。它有3个单选按钮,每个按钮都指定了一个特定值。我知道我引用每个按钮并试图触发计算的方式有问题 当前的一些错误: Cannot resolve method'getText()' Operator '<' cannot be applied t

我已经用这个网站搜索了两个学期的具体错误。我知道我要问的问题比我在这个网站上搜索/阅读的大多数内容都更广泛和基本,但这是我在课堂之外唯一需要寻求信息的地方

现在我正在使用Android Studio开发一个简单的照片计算器手机应用程序。它有3个单选按钮,每个按钮都指定了一个特定值。我知道我引用每个按钮并试图触发计算的方式有问题

当前的一些错误:

    Cannot resolve method'getText()'
    Operator '<' cannot be applied to 'android.widget.editText','int'
    Operator "*" cannot be applied to 'double', 'andriod.widget.EditText'
代码如下:

        package com.example.squirreloverlord.ccarringtonphonephotoprint;

    import android.icu.text.DecimalFormat;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.RadioButton;
    import android.widget.TextView;
    import android.widget.Toast;

    public class MainActivity extends AppCompatActivity {
    double small = 19;
    double medium = 49;
    double large = 79;
    double Result;
    double inputUser;
    double Number;


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

    getSupportActionBar().setDisplayShowHomeEnabled(true);
    getSupportActionBar().setLogo(R.mipmap.ic_launcher);
    getSupportActionBar().setDisplayUseLogoEnabled(true);

        final EditText inputUser = (EditText)     findViewById(R.id.editTextNumber);
        final RadioButton radioButton4x6 = (RadioButton)     findViewById(R.id.radioButton4x6);
        final RadioButton radioButton5x7 = (RadioButton) findViewById(R.id.radioButton5x7);
        final RadioButton radioButton8x10  = (RadioButton)findViewById(R.id.radioButton8x10);
        final TextView Result = (TextView) findViewById(R.id.textViewResult);
        Button Calculate = (Button) findViewById(R.id.buttonCalculate);

        Calculate.setOnClickListener(new View.OnClickListener()  {
            @Override
            public void onClick(View v)  {
                inputUser=Double.parseDouble(Number.getText( ).toString(  ));
                DecimalFormat tenth = new DecimalFormat("#.#");

                if(radioButton4x6.isChecked( ))   {
                    if (inputUser <50) {
                        Number = small * inputUser;
                        Result.setText(tenth.format(Result) + " is your total cost!");

                    } else {
                        Toast.makeText(MainActivity.this,"Please enter a value less than 50", Toast.LENGTH_LONG).show();

                    }
                }
                if (radioButton5x7.isChecked( ))  {
                    if (inputUser <50) {
                        Number = medium * inputUser;
                        Result.setText(tenth.format(Result) + " is your total cost!");
                    }  else  {
                        Toast.makeText(MainActivity.this,"Please enter a value less than 50", Toast.LENGTH_LONG).show();
                    }
                }
                if (radioButton8x10.isChecked()) {
                    if (inputUser <50) {
                        Number = large * inputUser;
                        Result.setText(tenth.format(Result) + " is your total cost!");

                    }  else {
                        Toast.makeText(MainActivity.this,"Please enter a value less than 50", Toast.LENGTH_LONG).show();
                    }
                }
            }
        });

    }
}

提前感谢您提供的任何帮助

我认为您应该这样更改变量:

double inputUser;
final EditText editUser= (EditText) findViewById(R.id.editTextNumber);

editUser=Double.parseDouble(editUser.getText( ).toString(  ));
prints=Double.parseDouble(editUser.getText( ).toString(  ));
if (prints<50)

inputUser将了解此代码

inputUser=Double.parseDouble(Number.getText( ).toString(  ));
如果我是你,我会这样改变:

double inputUser;
final EditText editUser= (EditText) findViewById(R.id.editTextNumber);

editUser=Double.parseDouble(editUser.getText( ).toString(  ));
prints=Double.parseDouble(editUser.getText( ).toString(  ));
if (prints<50)
然后,更精确地说,像代码editUser:

无法解析方法“getText”

错误是因为您调用了double as Number,毕竟还有一个类java.lang.Number。所以把它重命名为number

Double.parseDoubleNumber.getText.toString

请仔细阅读您在这里尝试做什么-获取double作为字符串并将其解析回double。。。这样做的原因是什么


接线员‘请您明确提出您的问题。您可能会隐式地这样做,但我似乎不明白您真正想要的是什么。请遵守java命名约定。当你把我在遇到的具体错误中编辑的变量组合在一起时,很难理解你的代码。第一次在这里发表文章时,遇到了一些格式问题。它解决了算法问题,但仍然存在getText问题。getText用于EditText而不是Double当您在应用程序上输入数字时,您应该将打印更改为editUser,然后您将通过编译