非常推薦用Java8的新特性Stream來(lái)解決這類求數(shù)據(jù)統(tǒng)計(jì)結(jié)果的,真的很方便,代碼簡(jiǎn)潔而優(yōu)雅
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供鎮(zhèn)坪網(wǎng)站建設(shè)、鎮(zhèn)坪做網(wǎng)站、鎮(zhèn)坪網(wǎng)站設(shè)計(jì)、鎮(zhèn)坪網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、鎮(zhèn)坪企業(yè)網(wǎng)站模板建站服務(wù),10余年鎮(zhèn)坪做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
用到了IntSummaryStatistics類,這個(gè)類就包含了題主說(shuō)的各種統(tǒng)計(jì)結(jié)果了
ListStudent?list?=?Arrays.asList(new?Student(100),?new?Student(59),?new?Student(80),?new?Student(92));
IntSummaryStatistics?summaryStatistics?=?list.stream().mapToInt(Student::getScore).summaryStatistics();
System.out.println("最高分:"?+?summaryStatistics.getMax());
System.out.println("最低分:"?+?summaryStatistics.getMin());
System.out.println("總分:"?+?summaryStatistics.getSum());
System.out.println("平均分:"?+?summaryStatistics.getAverage());
可以參考了解一下
//
import?java.util.Scanner;
//
public?class?Test2014?{
public?static?void?main(String[]?args)?{
Scanner?sc?=?new?Scanner(System.in);
System.out.println("輸入學(xué)生人數(shù):");
int?n?=?sc.nextInt();
int?sum?=?0;
for(int?i?=?1;i?=?n;++i){
System.out.println("輸入第"+i+"個(gè)學(xué)生成績(jī):");
sum?+=?sc.nextInt();
}
System.out.println("總成績(jī)是:"+sum+"?"+"平均成績(jī)是:"+(double)sum/n);
}
}
public static void main(String[] args) {
double scores[] = new double[5];
double total = 0;
double avg = 0;
double max = 0;
double min = 0;
int count=0;
String inputStr=null;
System.out.println("請(qǐng)輸入5名學(xué)生的成績(jī):");
Scanner input = new Scanner(System.in);
while(count5){
try{
if(count 5){
System.out.println("請(qǐng)輸入第"+(count+1)+"個(gè)分?jǐn)?shù):");
}
inputStr=input.nextLine();
scores[count++]=Double.valueOf(inputStr.trim());
}catch(Exception e){
if(inputStr!=null "exit".equals(inputStr.trim())){
System.out.println("您已成功結(jié)束程序");
System.exit(0);
}
System.out.println("若想結(jié)束請(qǐng)輸入:exit");
System.out.print("您輸入的分?jǐn)?shù)不是數(shù)值類型,");
count--;
}
}
input.close();
Arrays.sort(scores);
min=scores[0];
max=scores[scores.length-1];
for(double score :scores){
total += score;
}
avg=total/scores.length;
System.out.println("總成績(jī)是" + total);
System.out.println("最高分是" + max);
System.out.println("最低分是" + min);
System.out.println("平均分是" + avg);
}
//-------------------------------------------------------------------------
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while(true){
Double[] scores = null;
double total = 0;
double avg = 0;
double max = 0;
double min = 0;
int count=1;
ListDouble inputScores=new ArrayListDouble();
String inputStr=null;
System.out.println("請(qǐng)輸入要統(tǒng)計(jì)學(xué)生的成績(jī)(理論上可以輸入無(wú)限個(gè),前提是你有那么大的內(nèi)存):");
while(true){
try{
System.out.println("請(qǐng)輸入第"+count+++"個(gè)分?jǐn)?shù),或輸入ok進(jìn)行計(jì)算,離開(kāi)請(qǐng)輸入exit");
inputStr=input.nextLine();
inputScores.add((double)Double.valueOf(inputStr.trim()));
}catch(Exception e){
if(inputStr!=null "exit".equals(inputStr.trim().toLowerCase())){
System.out.println("您已成功結(jié)束程序");
input.close();
System.exit(0);
}
if(inputStr!=null "ok".equals(inputStr.trim().toLowerCase())){
break;
}
System.out.println("您輸入的分?jǐn)?shù)不是數(shù)值類型,");
System.out.println("若想結(jié)束請(qǐng)輸入exit ,若想計(jì)算結(jié)果請(qǐng)輸入ok");
count--;
}
}
if(inputScores.size()==0){
System.out.println("您沒(méi)有輸入學(xué)生成績(jī),無(wú)數(shù)據(jù)可統(tǒng)計(jì),程序結(jié)束。");
return ;
}
scores=inputScores.toArray(new Double[inputScores.size()]);
Arrays.sort(scores);
min=scores[0];
max=scores[scores.length-1];
for(double score :scores){
total += score;
}
avg=total/scores.length;
System.out.println("總成績(jī)是" + total);
System.out.println("最高分是" + max);
System.out.println("最低分是" + min);
System.out.println("平均分是" + avg);
}
}