質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

2回答

3875閲覧

Androidでの簡易電卓に関して

okamoto_76

総合スコア7

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2016/04/14 12:37

編集2016/04/14 13:50

Androidで簡易電卓を作成しています。
最後の計算結果表示の式でエラーが出てしまいます。
エラーの内容は下記になります。
Unreachable statement
式の方貼り付けますのでご指摘頂ければと思います。

package jp.hit.simplecalk2;

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

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
//コントロール参照
private EditText tfValue1, tfValue2;
private TextView Reslut;
private Button buttonpurasu, buttonkakeru, buttonhiku, buttonwaru;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { //コントロール参照設定 buttonpurasu = (Button) findViewById(R.id.buttonpurasu); buttonkakeru = (Button) findViewById(R.id.buttonkakeru); buttonhiku = (Button) findViewById(R.id.buttonhiku); buttonwaru = (Button) findViewById(R.id.buttonwaru); tfValue1 = (EditText) findViewById(R.id.tfValue1); tfValue2 = (EditText) findViewById(R.id.tfValue2); Reslut = (TextView) findViewById(R.id.Reslut); buttonpurasu.setOnClickListener(this); buttonwaru.setOnClickListener(this); buttonhiku.setOnClickListener(this); buttonkakeru.setOnClickListener(this); } @Override public void onClick(View view) { //入力値の取得
 String str01 = tfValue1.getText().toString(); String str02 = tfValue2.getText().toString(); //値の方変化 int num01 = 0; int num02 = 0; try { num01 = Integer.parseInt(str01); num02 = Integer.parseInt(str02); } catch (NumberFormatException e) { e.printStackTrace(); Toast.makeText( this, "計算が出来ません", Toast.LENGTH_LONG).show(); return; } catch (Exception e) { Toast.makeText( this, "エラー", Toast.LENGTH_LONG).show(); return; } int numRes = 0; //ボタン判定処理 switch (view.getId()) { case R.id.buttonpurasu: numRes = num01 + num02; break; case R.id.buttonhiku: numRes = num01 - num02; break; case R.id.buttonwaru: numRes = num01 / num02; break; case R.id.buttonkakeru: if (num02 == 0) { Toast.makeText( this, "0割ダメ", Toast.LENGTH_LONG).show(); return; } numRes = num01 * num02; break; //計算結果の表示 Reslut.setText(String.valueOf(numRes)); } }

}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yona

2016/04/14 14:18 編集

エラーが出ているならエラーログも記載すべきです。 また、コードは専用の記述方法があるのでそちらに修正してください。
guest

回答2

0

Unreachable statementは到達不可能な箇所に式を書いたときに出るコンパイルエラーです。

Java

1switch (view.getId()) { 2 case R.id.buttonpurasu: 3 break; 4 case R.id.buttonhiku: 5 break; 6 case R.id.buttonwaru: 7 break; 8 case R.id.buttonkakeru: 9 break; //☆ 10 //計算結果の表示 11 Reslut.setText(String.valueOf(numRes)); //☆でbreakされるため絶対に到達できない式。 12 }

解消するには式を適切な位置に移動するしかありません。今回はswitchブロックの外が正しい位置ですね。

投稿2016/04/14 14:31

編集2016/04/14 14:33
yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

計算結果の表示がswitchの中にあり、どうたどってもそこには到達出来ません。
そのコードをswitchの後に書いてください。

投稿2016/04/14 13:58

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問