【问题标题】:Calculation from 3 inputs [duplicate]从3个输入计算[重复]
【发布时间】:2018-02-10 16:24:32
【问题描述】:

我对这一切都很陌生,我正在尝试使用 android studio 为工作项目编写一个基本应用程序。该应用程序的目的是计算“答案=1.25 x(待机 x 静止)+(1.75 x 警报/2)。3 个用户输入是待机、静止和警报。 我已经构建了 UI 并完成了很多 java,但是当有人点击 bt_calculate 按钮时,我无法终生弄清楚如何自己进行实际计算

任何人都可以帮助或至少为我指出正确的方向吗?

package batterycalculator;

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.TextView;

public class BatteryCalculator extends AppCompatActivity {
private EditText QuiescentCurrent;
private EditText AlarmCurrent;
private EditText Standby;

private TextView ah_result;

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

    QuiescentCurrent = (EditText) findViewById(R.id.@+id/QuiescentCurrent);
    AlarmCurrent = (EditText) findViewById(R.id.@+id/AlarmCurrent);
    Standby = (EditText) findViewById(R.id.@+id/Standby);

    Button bt_calculate = (Button) findViewById(R.id.bt_calculate);

    bt_calculate = (TextView) findViewById(R.id.@+id/bt_calculate);

    bt_calculate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            makeCalculations();
        }
    });
}

private void makeCalculations() {

///CALCULATION HERE

    result.setText( result+"Ah");
}

}

编辑:现在已经进行了计算,但是对于我来说,按下按钮时我无法让它工作。正如我所说,我对此很陌生,并试图自学 Java,但我看到了很多相互矛盾的方法来使它工作,但似乎没有一个对我有用!这是我当前的代码。有人可以帮忙吗?

package batterycalculator;

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.TextView;


public class BatteryCalculator extends AppCompatActivity {
    private EditText quiescentcurrent;
    private EditText alarmcurrent;
    private EditText standbytime;
    private TextView ahresult;

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

        quiescentcurrent = (EditText) findViewById(R.id.quiescentcurrent);
        alarmcurrent = (EditText) findViewById(R.id.alarmcurrent);
        standbytime = (EditText) findViewById(R.id.standbytime);
        ahresult = (TextView) findViewById(R.id.ahresult);

        Button btcalculate = (Button) findViewById(R.id.btcalculate);
        btcalculate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                 makeCalculations();
            }
            private void makeCalculations() {

                 double quiescent = 
Double.parseDouble(quiescentcurrent.getText().toString());
                double alarm = 
Double.parseDouble(alarmcurrent.getText().toString());
            double standby = 
Double.parseDouble(standbytime.getText().toString());

            double answer = 1.25 * (standby * quiescent) + (1.75 * alarm / 
2);
            ahresult.setText(String.valueOf(answer));
        }
    });
}

【问题讨论】:

  • Double.parseDouble 代替,但整体解决方案相同

标签: android calculator calculation


【解决方案1】:
private void makeCalculations() {

   double quiescent = Double.parseDouble(QuiescentCurrent.getText().toString());
   double alarm = Double.parseDouble(AlarmCurrent.getText().toString());
   double standby= Double.parseDouble(Standby.getText().toString());

   double answer = 1.25 * (standby * quiescent) + (1.75 * alarm/2);
   result.setText(String.valueof(answer));
}

几点说明:

。必须初始化resultTextView;

。变量名不应以大写字母开头;

【讨论】:

  • 谢谢,我真的很感激。我现在已经完成并调试了代码,但是在测试时,按钮似乎没有做任何事情。我花了一些时间四处寻找答案,但我得到了很多相互矛盾的解决方案,这些解决方案似乎都不起作用。我已经在原始帖子中添加了我的新代码,有人能给我一些指示吗?我真的很想学习这个,但我在这里苦苦挣扎!
  • @Harni 为什么将makeCalculations 函数放在监听器中?这没有意义
  • 我的错误,我很高兴你指出了这一点。它确实像那样工作。我找出了问题所在,我因为没有注意到它而感到非常愚蠢! ahresult 上的文本大小设置为 0sp!感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2020-01-12
  • 1970-01-01
  • 2019-03-18
  • 2018-12-11
  • 1970-01-01
  • 1970-01-01
  • 2016-06-24
  • 2020-06-08
相关资源
最近更新 更多