ここから本文です

Java言語のInputクラスについて。

iro********さん

2013/8/1512:21:06

Java言語のInputクラスについて。

こんにちは。最近、Javaを独学で学び始めた者です。
先日もこちらで質問させて頂きました。xianren428様、その節は有難うございました。

さて、独習していてまた分からない事がございましたので、質問させて頂きます。

教書に以下のような練習問題がありました。
---------------------------------------------------------------------------------------------
次の式の値を求めるプログラムをEclipseで作成しなさい。
ただし、a,b,cはキーボードをタイプして入力するdoubleの値とする。
答えは"(1)=◯◯"、"(2)=◯◯"という形式で表示しなさい。
---------------------------------------------------------------------------------------------
そこで、以下のように作成してみました。

---------------------------------------------------------------------------------------------
package exercise;

import lib.Input;

public class ExFinal4_3 {

public static void main(String[] args){
double a = Input.getDouble();
double b = Input.getDouble();
double c = Input.getDouble();
System.out.println("(1)=" + Math.pow(a, 2) + Math.pow(b, 2) - 2*c);
System.out.println("(2)=" + Math.sqrt(a) + Math.sqrt(b) + 3*c);

}
}
---------------------------------------------------------------------------------------------
これで実行するとコンパイルエラーとなります。
ちなみに模範解答は以下でした。

import lib.Input;

public class P3 {
public static void main(String[] args) {
double a,b,c;
a = Input.getDouble();
b = Input.getDouble();
c = Input.getDouble();
double x = Math.pow(a, 2) + Math.pow(b, 2) - 2*c;
double y = Math.sqrt(a) + Math.sqrt(b) + 3*c;
System.out.println("(1)="+x);
System.out.println("(2)="+y);
}
}
---------------------------------------------------------------------------------------------
上記を見ると、出力する前にx,yでそれぞれ値を返しているようなのですが、
僕のやり方だとなぜエラーが出るのかいまいち分かりません。

長文で大変失礼致します。
ご教示頂ければ幸いです。

どうぞ宜しくお願い致します。

閲覧数:
1,500
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

xia********さん

2013/8/1513:47:53

考え方は問題ないのですが + と - は順番に処理されます
"(1)=" + Math.pow(a, 2) + Math.pow(b, 2) から
2*c を引く事が出来ないためのエラーでしょう。
Math.pow(a, 2) + Math.pow(b, 2) - 2*c を
先に計算するには括弧を使って下さい。
double x = Math.pow(a, 2) + Math.pow(b, 2) - 2*c;
の場合は "(1)=" が無いから問題ないだけです。

質問した人からのコメント

2013/8/19 07:39:07

降参 xianren428様、度々有難うございます。この学習の前に学んだ概念なのに、抜け落ちていました…精進します。有難うございました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる