Skip to content

Instantly share code, notes, and snippets.

Created December 10, 2017 11:29
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save anonymous/94e73407b863b565f305fd4497d051fd to your computer and use it in GitHub Desktop.
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
/**
* 入力処理
* @param scan
* @return
*/
public static ArrayList<Integer> input(Scanner scan) {
// 入力された整数はArrayList<Integer>に保管する
ArrayList<Integer> input_data = new ArrayList<>();
System.out.println("配列の要素を入力してください");
System.out.println("(改行のみの入力で入力シーケンス終了)");
// いくつ入力されるかわからいので,入力のループには,whileを使う
while(true) {
// キーボードから整数入力
String input = scan.nextLine();
// 終了条件:改行のチェック
if(input.length() == 0) break;
try{
// 文字列から整数に変換して保管する
input_data.add(new Integer(input));
} catch(NumberFormatException e) {
// 整数以外が入力されると,入力されたのは整数ではな いメッセージを出力して,再び入力させる
System.out.println("入力されたのは整数ではない");
}
}
return input_data;
}
/**
* 最大値を求める
* @param array 配列
* @return 最大値
*/
public static int max(ArrayList<Integer> array) {
if (array.size() == 0) throw new IllegalArgumentException("配列に要素がないよ!");
int max = array.get(0);
for (Integer num : array) max = (max > num) ? max : num;
return max;
}
/**
* 最小値を求める
* @param array 配列
* @return 最小値
*/
public static int min(ArrayList<Integer> array) {
if (array.size() == 0) throw new IllegalArgumentException("配列に要素がないよ!");
int min = array.get(0);
for (Integer num : array) min = (min < num) ? min : num;
return min;
}
/**
* 総計を求める
* @param array 配列
* @return 総計
*/
public static int sum(ArrayList<Integer> array) {
if (array.size() == 0) throw new IllegalArgumentException("配列に要素がないよ!");
int sum = 0;
for (Integer num : array) sum += num;
return sum;
}
/**
* 平均を求める
* @param array 配列
* @return 平均値
*/
public static float mean(ArrayList<Integer> array) {
if (array.size() == 0) throw new IllegalArgumentException("配列に要素がないよ!");
float sum = sum(array);
return sum / array.size();
}
/**
* メイン処理.
* @param args
* @throws IllegalArgumentException 配列に何も入っていない時投げられる
*/
public static void main(String[] args)throws IllegalArgumentException {
// 入力処理
ArrayList<Integer> input;
input = input(new Scanner(System.in));
// それぞれのデータを求める
int max = max(input);
int min = min(input);
int sum = sum(input);
float mean = mean(input);
// 出力処理
System.out.printf("個数:%d, 総計:%d, 平均値:%f, 最大値:%d, 最小値:%d"
,input.size(),sum,mean,max,min);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment