import java.math.BigDecimal;
創(chuàng)新互聯(lián)主營(yíng)敦化網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶App定制開發(fā),敦化h5微信小程序搭建,敦化網(wǎng)站營(yíng)銷推廣歡迎敦化等地區(qū)企業(yè)咨詢
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String s = null;
int i = 1; //標(biāo)識(shí)人數(shù)
int totalScore = 0; //總分
do
{
System.out.println("請(qǐng)輸入第 " + i + " 位學(xué)生的成績(jī)(輸入 “-1” 結(jié)束輸入開始計(jì)算平均分): ");
s = sc.nextLine();
if (!"-1".equals(s))
{
totalScore = totalScore + Integer.valueOf(s);
i++;
}
}while (!"-1".equals(s));
System.out.println("一共輸入了 " + (i-1) + " 位學(xué)生的成績(jī)");
System.out.println("總分是:" + totalScore);
System.out.println("平均分是:" + new BigDecimal(totalScore).divide(new BigDecimal(i-1)));
}
}
這個(gè)程序可以輸入任意數(shù)量學(xué)生的成績(jī) 然后輸出學(xué)生的平均分,輸入-1結(jié)束輸入并計(jì)算平均分。
//
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);
}
}
Java 8 以上(包含java8) Lambda 方式,這種方式比較簡(jiǎn)潔,代碼如下:
import?java.util.ArrayList;
import?java.util.List;
import?java.util.Scanner;
public?class?App20?{
public?static?void?main(String[]?args)?{
Scanner?scanner?=?new?Scanner(System.in);
ListFloat?scores?=?new?ArrayList();
System.out.println("請(qǐng)輸入10個(gè)人的成績(jī):");
for?(int?i?=?0;?i??10;?i++)?{
scores.add(scanner.nextFloat());
}
float?max?=?scores.stream().max((x,?y)?-?Float.compare(x,?y)).get();
System.out.println("最高分:"?+?max);
float?min?=?scores.stream().min((x,?y)?-?Float.compare(x,?y)).get();
System.out.println("最低分:"?+?min);
float?average?=?scores.stream().reduce(0.0f,?Float::sum)?/?scores.size();
System.out.println("平均分:"?+?average);
scores.sort((x,?y)?-?Float.compare(x,?y));
System.out.println("從小到大分?jǐn)?shù)排序:");
scores.forEach(s?-?System.out.print(s?+?"?"));
long?n?=?scores.stream().filter(r?-?r??average).count();
System.out.println("\n高于平均分的有"?+?n?+?"個(gè)");
}
}
傳統(tǒng)方式,如下:
import?java.util.Arrays;
public?class?App21?{
public?static?void?main(String[]?args)?{
float[]?scores?=?new?float[]?{?10f,?9f,?8f,?7f,?6f,?5f,?4f,?3f,?2f,?1f?};
float?max?=?Float.MIN_VALUE;
for(float?score?:?scores)?{
if?(score??max)?{
max?=?score;
}
}
System.out.println("最高分:"?+?max);
float?min?=?Float.MAX_VALUE;
for(float?score?:?scores)?{
if?(score??min)?{
min?=?score;
}
}
System.out.println("最低分:"?+?min);
float?sum?=?0;
for(float?score?:?scores)?{
sum?+=?score;
}
float?average?=?sum?/?scores.length;
System.out.println("平均分:"?+?average);
//?從小到大排序
Arrays.sort(scores);
System.out.println("從小到大分?jǐn)?shù)排序:");
for(float?score?:?scores)?{
System.out.print(score?+?"?");
}
int?n?=?0;
for(float?score?:?scores)?{
if?(score??average)
n++;
}
System.out.println("\n高于平均分的有"?+?n?+?"個(gè)");
}
}
import?java.util.Scanner;
public?class?Test?{
public?static?void?main(String[]?args)?{
Scanner?sc?=?new?Scanner(System.in);
System.out.print("輸入考試科數(shù):");
int?n?=?sc.nextInt();
//?存放每科考試的平均分
int?[]score?=?new?int[n+1];
//?存放每科考試的人數(shù)
int?[]student?=?new?int[n+1];
int?sum?=?0;
for(int?i=1;i=n;i++)?{
System.out.print(i+"號(hào)考試參加的人數(shù)為:");
student[i]?=?sc.nextInt();
for(int?j=1;j=student[i];j++)?{
System.out.print(j+"號(hào)學(xué)生的成績(jī)?yōu)椋?);
sum+=sc.nextInt();
}
score[i]?=?sum/student[i];
sum=0;
}
for(int?k=1;k=n;k++)?{
System.out.println(k+"號(hào)考試參加的人數(shù)為"+student[k]+",平均分為:"+score[k]);
}
}
}
這是代碼,其中每行main函數(shù)的要點(diǎn)代碼我都作了注釋,希望你能理解這個(gè)程序:
package example;
import java.util.Scanner;
public class example
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in); //聲明Scanner對(duì)象in,用于讀取輸入
float[] score = new float[10]; //聲明score數(shù)組,用于存儲(chǔ)分?jǐn)?shù)
float max, min; //聲明變量max與min,用于存儲(chǔ)最高分與最低分
float average = 0.0f; //聲明變量average(初始化為0.0),用于存儲(chǔ)平均值
System.out.println("請(qǐng)輸入10個(gè)同學(xué)的成績(jī):"); //輸出提示信息
for (int i = 0; i 10; i++) //聲明for循環(huán),用于遍歷score數(shù)組
{
score[i] = in.nextFloat(); //讀取分?jǐn)?shù)到score數(shù)組相應(yīng)位置
}
max = score[0]; //假設(shè)最大值為score[0]
min = score[0]; //假設(shè)最小值為score[0]
average += score[0]; //average加上score[0]以便后面的平均值計(jì)算
for (int i = 1; i 10; i++) //聲明for循環(huán),用于遍歷score數(shù)組
{
if (score[i] max) //如果score[i]大于max值(即找到更大的值)
{
max = score[i]; //重新賦值給max
}
else if (score[i] min) //如果score[i]小于min值(即找到更小的值)
{
min = score[i]; //重新賦值給min
}
average += score[i]; //average加上score[0]以便后面的平均值計(jì)算
}
average /= 10.0; //計(jì)算平均分
System.out.print("平均分:" + average + " 最高分:" + max + " 最低分:" + min); //輸出結(jié)果
in.close();//關(guān)閉in流
}
}
希望能幫到您,有什么不懂的可以再問我。
可以自定義人數(shù),你還沒學(xué)到面向?qū)ο蟀桑蔷徒o個(gè)面向過程的
import java.util.Scanner;
public class StudentResult{
public static void main(String[] args){
Scanner x=new Scanner(System.in);
System.out.print("請(qǐng)輸入學(xué)生的人數(shù):");
int rs=x.nextInt();//輸入學(xué)生人數(shù),rs=學(xué)生數(shù)量
System.out.print("請(qǐng)輸入課程數(shù)目:");
int sm=x.nextInt();//輸入有幾門課,sm=課程數(shù)目
String kc[]=new String[sm];//數(shù)組用來裝各個(gè)課程名字
String xs[]=new String[rs];//數(shù)組用來裝每個(gè)學(xué)生姓名
int fs[][]=new int[rs][sm];//數(shù)組用來裝每個(gè)學(xué)生每門分?jǐn)?shù)
for(int i=0;ikc.length;i++){
System.out.print("請(qǐng)定義第"+(i+1)+"門課程是什么:");
kc[i]=x.next();
}
for(int i=0;ixs.length;i++){
System.out.print("請(qǐng)輸入第"+(i+1)+"個(gè)學(xué)生的姓名:");
xs[i]=x.next();
}
int zf[]=new int[rs];//每個(gè)學(xué)生總分
double pj[]=new double[rs];//每個(gè)學(xué)生平均分
String all[]=new String[rs];
for(int i=0;irs;i++){//i代表人名字
String cj="";
for(int j=0;jsm;j++){//j代表課程名字
System.out.print("請(qǐng)輸入第"+(xs[i])+(kc[j])+"的成績(jī)");
fs[i][j]=x.nextInt();
zf[i]=zf[i]+fs[i][j];
cj=cj+fs[i][j]+"\t";}
pj[i]=(double)zf[i]/sm;
all[i]=xs[i]+"\t"+cj+zf[i]+"\t"+pj[i];
}
for(int j=0;jxs.length-1;j++){
for(int i=0;ixs.length-1;i++){
if(zf[i]zf[i+1]){
int c=zf[i]; String d=all[i];
zf[i]=zf[i+1]; all[i]=all[i+1];
zf[i+1]=zf[i]; all[i+1]=d;}
}
}
System.out.print("學(xué)生\t");
for(int i=0;ism;i++){
System.out.print(kc[i]+"\t");}
System.out.print("總分\t平均分\t排行榜\t\n");
for(int i=0;ixs.length;i++){
System.out.println(all[i]+"\t第"+(i+1)+"名");}
}
}
新聞名稱:算平均分的java代碼 java平均值怎么算
轉(zhuǎn)載來于:http://muchs.cn/article24/doccoje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站建設(shè)、定制網(wǎng)站、ChatGPT、移動(dòng)網(wǎng)站建設(shè)、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)