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

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

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

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

Q&A

解決済

2回答

3466閲覧

計算結果がうまく表示されない

syosinsya12

総合スコア69

Android Studio

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

0グッド

0クリップ

投稿2016/08/10 06:04

編集2016/08/10 07:00
public final static String EXTRA_STR1 = "com.example.sample.a.STR1"; public final static String EXTRA_STR2 = "com.example.sample.a.STR2"; public final static String EXTRA_STR3 = "com.example.sample.a.STR3"; public final static String EXTRA_STR4 = "com.example.sample.a.STR4"; public void get(View view){ EditText editText = (EditText) findViewById(R.id.h); String str1 = editText.getText().toString().trim(); EditText editText2 = (EditText) findViewById(R.id.i); String str2 = editText.getText().toString().trim(); EditText editText3 = (EditText) findViewById(R.id.j); String str3 = editText.getText().toString().trim(); EditText editText4 = (EditText) findViewById(R.id.k); String str4 = editText.getText().toString().trim(); Intent intent = new Intent(this,l.class); intent.putExtra(EXTRA_STR1, str1); intent.putExtra(EXTRA_STR2, str2); intent.putExtra(EXTRA_STR3, str3); intent.putExtra(EXTRA_STR4, str4); startActivity(intent); } 受け取り先 Intent intent = getIntent(); String str1 = intent.getStringExtra(A.EXTRA_STR1); String str2 = intent.getStringExtra(A.EXTRA_STR2); String str3 = intent.getStringExtra(A.EXTRA_STR3); String str4 = intent.getStringExtra(A.EXTRA_STR4); int a = Integer.parseInt(str1); int b = Integer.parseInt(str2); int c = Integer.parseInt(str3); int d = Integer.parseInt(str4); int e = a / b * 1000; int f = 3070 * c / 199 - b / a; int g = f * a; String e1 = String.valueOf(e); String f1 = String.valueOf(f); String g1 = String.valueOf(g); TextView e2 = (TextView) findViewById(R.id.ee); e2.setText(e1); TextView f2 = (TextView) findViewById(R.id.ff); f2.setText(f1); TextView g2 = (TextView) findViewById(R.id.gg); g2.setText(g1); コード

こんな感じで計算結果を表示したいのですがうまくいきません。まったく想定外な値が表示される結果になってしまいます。どこか間違っているところはありますか?
idや型の名前は適当に変えてあります。

double型に変えてみましたが結果は変わらずdouble a の値だけで何かを計算しているような結果になってしまいます。
例えば a = 1 のとき-984.572...... a = 2 のとき-1938.291.....
といった感じです。
b,cに値を入れてもその値は計算に反映されません。
自分の想定だとa = 1 b = 1000 c = 1 のとき e = 1 f = -984.573 g = -984.573と表示させたいです。

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

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

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

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

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

yona

2016/08/10 06:18

コードはコード用の記述にしてください。 また、回答者はあなたの想定なんてわかりません。具体的にどのような値の場合はどうなる想定かを書かないと質問として成り立ちません。
guest

回答2

0

int は少数にならないので(aもbもintなので)

c

1int e = a / b * 1000;

という式の結果は
・a < b な場合 e は必ず 0 になります(但し b != 0)
・b = 0 だとエラーになります

投稿2016/08/10 06:37

HiroshiWatanabe

総合スコア2160

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

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

0

ベストアンサー

入力する数値によってはdoubleにしないとダメですね。

投稿2016/08/10 06:19

yona

総合スコア18155

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

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

syosinsya12

2016/08/10 06:37

doubleに変えてみましたが結果は同じで、int a の値だけが計算に反映されるような結果になってしまいます。計算のコードの書き方は間違っていないですよね?
yona

2016/08/10 06:51

何を計算するかわからないので計算式があっているかはわかりません。 a,b,c,dの値を質問に追記してください。 また、その時に「想定している表示」と「実際の表示」も書いてください。
syosinsya12

2016/08/10 07:03

いまgの値だけが表示されてしまっているのかと思い、Text View setText の下の二つを消してみたところ何を入力しても1000と表示されるようになってしまいました。
syosinsya12

2016/08/10 07:15

どうにか自力で解決することができました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問