dポイントプレゼントキャンペーン実施中!

import java.io.*;

public class ex31a {
public static void main(String[] args) throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader

(System.in));
double sum = 0.0;
while(true) {
System.out.print("double> ");
double x = (new Double(in.readLine())).doubleValue();
if(x == 0.0) { break; }
sum = sum + x;
}
System.out.println("avarage = " + (sum % n));
}
}


基本形はこのままで、最後の部分のSystem.out.printlnの部分を直したらいいんでしょうか。

A 回答 (3件)

import java.io.*;



public class ex31a {
public static void main(String[] args) throws Exception {
int n = 0; /* 個数を示すnをきちんと変数として宣言 */
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
double sum = 0.0;
while(true) {
System.out.print("double> ");
double x = (new Double(in.readLine())).doubleValue();
if(x == 0.0) { break; }
sum = sum + x;
n = n + 1;/* 個数を計算 */
}
/*
System.out.println("sum = " + sum );
System.out.println("n = " + n);
*/
/* %は余りを求めるものである。平均は/で割らないと*/

/* double/ intがどうなるのかを考えたことはないけどw */
System.out.println("avarage = " + (sum / n));
}
}
    • good
    • 1
この回答へのお礼

nの宣言の仕方が分からなかったんです!
なるほど、Buffered-以前でやればよかったんですね!
ありがとうございます。

お礼日時:2007/05/14 20:33

%演算子は余りを求めるものです。


単純に全てを加算した結果を除算するだけでよいのであれば
演算子を/にするだけです。

ですが、これだと% nのnがどこにも宣言されていないので、
コンパイルエラーがでると思うのですが・・・

参考URL:http://msugai.fc2web.com/java/ope.html
    • good
    • 0

1.データ入力 →x


2.データ合計 sum←x+sum
3.データ数のカウント n←n+1
4.合計 avarage←sum/n

import java.io.*;

public class ex31a {
public static void main(String[] args) throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader

(System.in));
double sum = 0.0;
while(true) {
System.out.print("double> ");
double x = (new Double(in.readLine())).doubleValue();
if(x == 0.0) { break; }
sum = sum + x;
}
System.out.println("avarage = " + (sum % n));
}
}
基本ですが微笑ましい。
大体少しできれば直ぐStrutsは何か変ですね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!