sholler's プログラムとメモ帳

日々プログラムをしていて出てきたエラーの処理、技術関連の気になった記事などを題材に書いていくブログ。

【Android】電卓を作る2

前回のbuttonMethodの中身に処理を記述していく。

	public void buttonMethod(View b) {
		//ココに処理を書いていく
	}


入力値の取得とテキストビューへの出力準備
bを引数として入力値が入ってくるので、それを取得。

	public void buttonMethod(View b) {
		// 入力値取得
		Button button = (Button)b;
		String s = button.getText().toString();

		// テキストビュー取得
		TextView text = (TextView)findViewById(R.id.answerView);
	}


関数を用意する。(buttonMethodの外に用意)
共通の処理は関数かしておく。

起きたイベントをチェックする関数

//■■■■■■■■■■■■ イベントチェック関数 ■■■■■■■■■■■■
private int chkEvent(String s){
	if(s.equals("+") || s.equals("-") || s.equals("×") || s.equals("÷")){
		return 1;
	}else if(s.equals("=")){
		return 2;
	}else if(s.equals("C")){
		return 3;
	}else if(s.equals("AC")){
		return 4;
	}else{
		return 0;
	}
}

演算をしてString型で返す関数

//■■■■■■■■■■■■ 演算結果関数 ■■■■■■■■■■■■
private String calculation(String a, String b, String ope) {
	float anum = Float.parseFloat(a);
	float bnum = Float.parseFloat(b);
	float res = 0;
	
	if(ope.equals("+")){
		res = anum + bnum;
	}else if(ope.equals("-")){
		res = anum - bnum;
	}else if(ope.equals("×")){
		res = anum * bnum;
	}else if(ope.equals("÷")){
		res = anum / bnum;
	}
	return Float.toString(res);
}

イベントと状態の表
何をすれば良いのか分かりやすくする為に表を作成してみた。
f:id:sholler:20131229185353p:plain
あとはこれの通りに処理を書いていく。

次回こそ、buttonMethodの中を記述していきたい。