前提・実現したいこと
私はプログラミングを習い始めた新潟の大学の1年です。大学の課題なのですが、Javaを使い『次のメソッドをpublic staticメソッドとして作成しなさい』との課題が出ました。問題は以下の通りです。
(1) 平均
(メソッド名) heikin
(引数 1) double[] x
(戻り値) double : 配列 x の要素の平均値
(2) 内積
(メソッド名) naiseki
(引数 1) double[] x
(引数 2) double[] y
(戻り値) double :
x[0]y[0] + · · · + x[N − 1]y[N − 1]
ただし,N は配列 x の大きさである。
(注意) 配列 x と配列 y の大きさは同じとしてよい。
(3) ノルム
(メソッド名) norm
(引数 1) double[] x
(戻り値) double :
√x[0]^2 + · · · + x[N − 1]^2
ただし,N は配列 x の大きさ.
(4) 2 次方程式の根
(メソッド名) nijihouteisiki
(引数 1) double a
(引数 2) double b
(引数 3) double c
(戻り値) double[] : 2 次方程式ax^2 + bx + c = 0 の 2 つの解
−b ±√b^2−4ac/2aのうち、小さいほうの解を 0 番目の要素, 大きいほうの解を 1 番目の
要素としなさい。
(注意) a ̸= 0 としてよい。 根が実数でない場合は考えなくてよい。
そこでこの問題を自分なりに調べ真似しながら以下のようにeclipseに書いてみました.
public class sample21 {
//(1)
public static void main(String[]args) {
double[]x ={0,1,2};
System.out.println(heikin(x));
}
public static double heikin(double[] x){
double e = 0.0;
for(double i:x)
{e+= i;
}
return e/x.length;
}
//(2) public static void main1(String[]args) { double[]x ={0,1,2}; double[]y ={3,4,5}; System.out.println(naiseki(x,y)); } public static double naiseki(double[]x,double[]y) { double r=0; for(int i=0;i<x.length;i++) { r+=x[i]*y[i]; } return r; } //(3) public static void main2(String[] args) { double[]x= {1,2,3}; System.out.println(norm(x)); } public static double norm(double[] x) { double sum = java.util.Arrays.stream(x).map(y->y*y).sum(); return Math.sqrt(sum); } //(4) public static void main3(String[]args) { try (java.util.Scanner s = new java.util.Scanner(System.in)) { System.out.print("a="); double a = s.nextDouble(); System.out.print("b="); double b = s.nextDouble(); System.out.print("c="); double c = s.nextDouble(); double[] result =nijihouteisiki(a, b, c); System.out.printf("x0=%f, x1=%f%n", result[0], result[1]); } } public static double[] nijihouteisiki(double a, double b, double c) { double d=b*b-4*a*c; return new double[] { (-b - Math.sqrt(d)) / (2*a), (-b + Math.sqrt(d)) / (2*a)}; }
}
このプログラム4つ全て読み取らせたいのですが、最初の1つしか読み取ってくれません。
こちらの不具合なのか、それとも何かが足りないのか調べても一向に分かりません。
こんなプログラミングを碌に知らない若輩者に忙しい時間を割かせてしまう形になり申し訳ないのですが、ぜひともご教授いただけたら幸いです。
烏滸がましいようですが、出来ればこれよりもっと単純な方法を知っている方がいましたら是非ともご教授の方をよろしくお願いします。
発生している問題・エラーメッセージ
eclipseに実際これを打ち込んでみると、何らエラーメッセージは発生しないのですが前述の通り実行すると、最初の(1)だけを読み取るだけで何にも表示しないのです。
試したこと
前述の通り、eclipseの不具合なのかと疑い調べようとしましたがほかのプログラムはきちんと動くので全く不具合はなさそうでした。
そこで何が足りないのかを調べようとネットで様々な人に質問して前述のプログラムを添削し書き上げましたが一向に(1)以下が動作しません。今まさにどこから手をつければいいのかと、正直情けない話八方塞がりな状態です。改めてご教授の方をお願い致します。
補足情報(FW/ツールのバージョンなど)
eclipse
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/19 00:17
2020/11/19 01:47