みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Javaコンパイルエラー

Javaにて以下のようなプログラムを作成していますが、
「演算子 ^ は引数の型 double, int で未定義です。」とエラーになりました。
色々な方のご協力もあり、ここまで作れましたが、
これより先が行き詰っています。
教えていただけないでしょうか。


----------------------------------------------

// 分散を返すメソッド

public class Kadai16 {
public static void main(String args[]){
//double型の配列の生成
double[]a=new double[10];



argument(a);

//配列aの要素[0]から[9]の内容を表示

System.out.println(a[0]);
System.out.println(a[1]);
System.out.println(a[2]);
System.out.println(a[3]);
System.out.println(a[4]);
System.out.println(a[5]);
System.out.println(a[6]);
System.out.println(a[7]);
System.out.println(a[8]);
System.out.println(a[9]);

//double total=sum(a)を実行する
double total =sum(a);
System.out.println("合計は"+total+"です。");

//使って平均を出す
double heikin;
mean(total);
heikin = mean(total);
System.out.println("平均は"+heikin+"です。");

//分散を返す
double bunsan;
bunsan = total-heikin^2/10;
System.out.println("分散は"+bunsan+"です。");

}
/**
* ランダムな数値を入れるメソッド
* @param a ランダムな数値を入れる配列
*/

private static void argument(double[]a) {
//引数の配列aの[0]から[9]までランダムな数値を設定する。
for(int i=0; i<a.length;i++) {
a[i]=Math.floor(Math.random()*10);
}
}

//配列を受け取って要素の合計を出すメソッド
public static double sum(double[] x) {
double t=0;
for(int i=0; i<x.length;i++) {
t= x[i]+t;
}
return t;
}

//配列を受け取って平均を出すメソッド
public static double mean(double b) {
return b/10;
}

//分散を返すメソッド
public static double bunsan(double c) {
double t=0;
double bnsan =0;
for(int i=0; i<c.length; i++) {
t =c[i]+t

}




}

}

投稿日時 - 2009-09-01 23:14:46

QNo.5255496

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

bunsan = total-heikin^2/10;
の"heikin^2"は変数heikinを2乗する演算を意図しているのですよね?

Javaで累乗を計算する場合は、Math.pow()メソッドを使用します。
変数heikinを2乗したい場合は、"Math(heikin, 2)"のように記述します。

つまり、
bunsan = total-Math.pow(heikin,2)/10
と記述する必要があります。

投稿日時 - 2009-09-02 08:16:09

ANo.1

演算子「^」がどのようなものであるかを確認してください.
あなたの期待する演算ではないと思いますよ.

投稿日時 - 2009-09-01 23:30:14

あなたにオススメの質問