Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android折扣应用程序未运行_Java_Android - Fatal编程技术网

Java Android折扣应用程序未运行

Java Android折扣应用程序未运行,java,android,Java,Android,我正在为android制作一个简单的折扣应用程序,但我的应用程序没有运行,希望你们能帮助我找出它的问题。 我是android开发新手,所以可能我做了很多错事,下面是我的代码 现在我只是在处理RadioButton部分,我点击按钮,比如说10%,然后它将显示正确保存的金额和总数 import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; impo

我正在为android制作一个简单的折扣应用程序,但我的应用程序没有运行,希望你们能帮助我找出它的问题。
我是android开发新手,所以可能我做了很多错事,下面是我的代码

现在我只是在处理RadioButton部分,我点击按钮,比如说10%,然后它将显示正确保存的金额和总数

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.*;

public class MainActivity extends Activity {

private double listedPrice;
private int discountPrecentID;
private RadioGroup discount;
private double discountPrecent;
// private RadioButton discountPrecent;
private TextView savedAmount;
private TextView payAmount;
private EditText userInput;

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

    userInput = (EditText) findViewById(R.id.editText1);
    listedPrice = Double.parseDouble(userInput.getText().toString());
    savedAmount = (TextView) findViewById(R.id.textView7);
    payAmount = (TextView) findViewById(R.id.textView8);
    discount = (RadioGroup) findViewById(R.id.radioGroup1);
    // SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar1);
    // seekBar.setOnSeekBarChangeListener(seekBarListener);
}

public void onClick(View v) {

    discountPrecentID = discount.getCheckedRadioButtonId();
    // discountPrecent = (RadioButton) findViewById(discountPrecentID);
    switch (discountPrecentID) {
    case R.id.radio0:{
        discountPrecent = 0.10;
        savedAmount.setText("$" + listedPrice * discountPrecent);
        payAmount.setText("$"
                + (listedPrice - (listedPrice * discountPrecent)));
        break;
    }
    case R.id.radio1:{
        discountPrecent = 0.25;
        savedAmount.setText("$" + listedPrice * discountPrecent);
        payAmount.setText("$"
                + (listedPrice - (listedPrice * discountPrecent)));
        break;
    }
    case R.id.radio2:{
        discountPrecent = 0.50;
        savedAmount.setText("$" + listedPrice * discountPrecent);
        payAmount.setText("$"
                + (listedPrice - (listedPrice * discountPrecent)));
        break;
    }
    }

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

这很可能是你的问题

listedPrice = Double.parseDouble(userInput.getText().toString());
用户没有机会在
onCreate()
中输入带有此代码的内容,因此除非您有硬编码的内容,否则您将获得
NumberFormatException
。用户有机会输入某个内容后,需要将该代码放入
onClick()
或其他事件中

您还应该执行一些错误检查,例如将其放入
try/catch

try
{
    listedPrice = Double.parseDouble(userInput.getText().toString());
}
catch (NumberFormatException e)
{
    // do something if invalid double
}
在这里发帖时,你需要清楚地说明什么是/没有按照预期工作,以及你的问题是什么。此外,如果你的应用程序崩溃,那么logcat中会有输出,你需要发布它,这样我们就可以很容易地看到问题所在


Eclipse没有说您有任何问题,因为这是一个运行时错误,这意味着Eclipse在编译时没有看到任何错误。就Eclipse所知,这意味着您的语法是正确的,但您的逻辑是不正确的。

什么是有效的/无效的?你被困在哪里了?不知道我是如何从一个诚实的问题中得到-2个代表的?我花了很多时间写这篇文章,人们只是给我负面的评价,什么也没说?我很难过。我没有投反对票,但我敢猜测这是因为你没有解释你的问题。当我运行这个时,它一直在说“不幸的是,折扣计算器停止了。”logCat说双重是一个问题,但是eclipse没有说我的代码有任何问题,你的logcat中会有一个异常…发布它。谢谢你的建议!我想我现在已经解决了这个问题。