1.試験の点、評価、最高得点者は? class maxium0{ public static void main(String[] args){ int i,j; int kk=0; //変数配列宣言 10人の学生名 String name [] ={"大田","中田","小田","山田","川田","村田","市田","町田","本田","島田"}; //変数配列宣言 10人の点数 int x[] = {68,30 ,100 ,43,78 ,61,53,48,92,88}; System.out.println("各人の得点と評価..."); //新しい配列 mes を生成 サイズは x と同じ String mes[]=new String[x.length]; for(j=0;j<x.length;j++){ if(x[j]>=60) { mes[j]=" 合格 "; }else{ mes[j]=" 不合格 "; } System.out.println(name[j]+"..."+x[j]+" "+mes[j]); } System.out.println("最高点..."); //最大を求める定石 int max=x[0]; for (j=1;j<x.length;j++ ){ if(x[j]>max){ max=x[j]; kk=j; } } System.out.println(max+"点 "+name[kk]); } } --------------------------------------------------------------------------- 最低点も求めてみよう。 平均=合計/個数を求めるには int s=x[0]; for (j=1;j<x.length;j++ ){ s=s+x[j]; } double mean=(double)s/x.length; ========================================================================== 2. 2次元配列を使って3回の試験の平均点・評価,最高得点者を求める。 class maxium1 { public static void main(String[] args) { //配列宣言 10人の学生名 String name [] ={"大田","中田","小田","山田","川田","村田","市田","町田","本田","島田"}; //変数宣言 ・・・・・・ ・・・・・・ ・・・・・・ //3回の試験の点数 2回目の点数は第2行に int x[] [] = { {68,30 ,100 ,43,78 ,61,53,48,92,88}, {83,73 , 60 ,35,79 ,41,73,81,92,38}, {66,70 , 80 ,74,85 ,15,35,44,79,81} } ; //各人の平均点と評価 String mes[]=・・・・・・・・ float m[]=・・・・・・・・ for(j=0;j<x[0].length;j++){ ・・・・・・・・・ for (i=0;i<x.length;i++){ s= ・・・・・・・・・ } m[j]=・・・・・・・・・ mes[j]=・・・・・・・・・ if(m[j]>=60){ ・・・・・・・・・ } System.out.println(・・・・・・・・・ } //平均点の最高点とその学生名 float mmax=・・・・・・・・・ for (j=1;j<x[0].length;j++ ){ if(・・・・・・・・・){ ・・・・・・・・・ kk=j; } } System.out.println(・・・・・・・・・); //-----------------各回の最高点を求める(やや難)------------------------ for (i=0;i<x.length;i++){ ・・・・・・・・・ for(・・・・・・・・・ if(・・・・・・・・・ ・・・・・・・・・ ・・・・・・・・・ } } ・・・・・・・・・ System.out.println(ii+"回目の最高点は "+max+"点 "+name[k]); } //------------------------------------------- } } =================================================================== 2次元配列のサイズ x.length x[0].length x[1].length 整数化 Math.ceil(double x) 切り上げ Math.floor(double x) 切捨て ?? 四捨五入 --------------------------------------------------------------------- Exercises 1) 12名の学生の氏名・性別・身長・体重を配列で与えて最大,最小,平均を求める 2) 百万都市の人口・面積から人口密度を求める