• 締切
  • すぐに回答を!

Java問題 できればソースコードを教えて下さい。

  • 質問No.7952289
  • 閲覧数245
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 0% (0/30)

import java.io.*;
public class K4 {

/**
* @param args
*/
public static void main(String[] args) throws IOException{
// TODO 自動生成されたメソッド・スタブ
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
double[] data = new double[10];
int n = data.length;
System.out.println("10個の正の値を入力して下さい");
for(int i = 0;i <n; i++){
System.out.print("data[" + i + "]=");
String str= br.readLine();
data[i] = Integer.parseInt(str);
if(data[i] <0){
n=i;
break;
}
}
System.out.print("入力されたデータを表示します.");
for(int i = 0;i <n; i++){
System.out.print("data[" + i + "]=" + data[i]);
}


}

}


double型のデータを10個保存できる配列を準備し,for文を用いてデータの入力と出力を行うプログラムを作成しなさい.(入力ループが終了した後に出力ループを設置する.)
ただし,入力するデータは正の数のみとし,入力が負の数だった場合は,データが10個より少なくても,入力・出力を停止する事とする.(if文で入力値の判定を行い,入力データ個数も別途変数に保存するなどしておくこと.データ出力のループでは,そのデータの個数を保存した変数を利用して繰り返しの回数を制限する.)
最後に,全データの合計値と平均値も出力しなさい

回答 (全1件)

  • 回答No.1

ベストアンサー率 0% (0/0)

記載されたソースコードに続ける感じだと、下記のようなかんじでしょうか。
例外処理は行なっていません。
文字列からdoubleに変換する必要があるので、Integer.parseIntではなく、Double.parseDoubleを使います。


import java.io.*;

public class K4 {

/**
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO 自動生成されたメソッド・スタブ
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
double[] data = new double[10];
int n = data.length;
System.out.println("10個の正の値を入力して下さい");
for (int i = 0; i < n; i++) {
System.out.print("data[" + i + "]=");
String str = br.readLine();
data[i] = Double.parseDouble(str);
if (data[i] < 0) {
n = i;
break;
}
}
System.out.println("入力されたデータを表示します.");
for (int i = 0; i < n; i++) {
System.out.println("data[" + i + "]=" + data[i]);
}

double sum = 0;
for(int i = 0; i < n; i++){
sum += data[i];
}

if (n != 0) {
System.out.println("合計は " + sum + ",平均は " + sum / n + " でした.");
} else {
System.out.println("負の数が最初に入力されました.");
}
}

}
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ