android if else语句,java - 基本的android:switch语句的语法而不是else-if - 堆栈内存溢出...

我正在研究一个Android初学者的教程,这是一个小费计算器。 它运行正常,但我想知道如何用switch语句替换else-if语句。 并不是说它对于这个程序来说非常重要,但我只是试图围绕语法进行思考。

package com.android.tipcalc;

import android.app.Activity;

import android.os.Bundle;

import android.widget.EditText;

import android.widget.RadioGroup;

import android.widget.TextView;

import android.widget.Button;

import android.widget.RadioButton;

import android.view.View;

public class tipcalc extends Activity

{

private EditText txtbillamount;

private EditText txtpeople;

private RadioGroup radiopercentage;

private RadioButton radio15;

private RadioButton radio18;

private RadioButton radio20;

private TextView txtperperson;

private TextView txttipamount;

private TextView txttotal;

private Button btncalculate;

private Button btnreset;

private double billamount = 0;

private double percentage = 0;

private double numofpeople = 0;

private double tipamount = 0;

private double totaltopay = 0;

private double perperson = 0;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

initControls();

}

private void initControls()

{

txtbillamount = (EditText)findViewById(R.id.txtbillamount);

txtpeople = (EditText)findViewById(R.id.txtpeople);

radiopercentage = (RadioGroup)findViewById(R.id.radiopercentage);

radio15 = (RadioButton)findViewById(R.id.radio15);

radio18 = (RadioButton)findViewById(R.id.radio18);

radio20 = (RadioButton)findViewById(R.id.radio20);

txttipamount=(TextView)findViewById(R.id.txttipamount);

txttotal=(TextView)findViewById(R.id.txttotal);

txtperperson=(TextView)findViewById(R.id.txtperperson);

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

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

btncalculate.setOnClickListener(new Button.OnClickListener() {

public void onClick (View v){ calculate(); }});

btnreset.setOnClickListener(new Button.OnClickListener() {

public void onClick (View v){ reset(); }});

}

private void calculate()

{

billamount=Double.parseDouble(txtbillamount.getText().toString());

numofpeople=Double.parseDouble(txtpeople.getText().toString());

if (radio15.isChecked()) {

percentage = 15.00;

} else if (radio18.isChecked()) {

percentage = 18.00;

} else if (radio20.isChecked()) {

percentage = 20.00;

}

tipamount=(billamount*percentage)/100;

totaltopay=billamount+tipamount;

perperson=totaltopay/numofpeople;

txttipamount.setText(Double.toString(tipamount));

txttotal.setText(Double.toString(totaltopay));

txtperperson.setText(Double.toString(perperson));

}

private void reset()

{

txtbillamount.setText("");

txtpeople.setText("");

radiopercentage.clearCheck();

radiopercentage.check(R.id.radio15);

txttipamount.setText("...");

txttotal.setText("...");

txtperperson.setText("...");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值