import java.util.Scanner;
創(chuàng)新互聯(lián)建站成立于2013年,我們提供高端重慶網(wǎng)站建設(shè)、成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站定制、全網(wǎng)整合營(yíng)銷推廣、微信小程序開發(fā)、微信公眾號(hào)開發(fā)、網(wǎng)站推廣服務(wù),提供專業(yè)營(yíng)銷思路、內(nèi)容策劃、視覺設(shè)計(jì)、程序開發(fā)來(lái)完成項(xiàng)目落地,為護(hù)欄打樁機(jī)企業(yè)提供源源不斷的流量和訂單咨詢。
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("請(qǐng)輸入學(xué)生的分?jǐn)?shù):");
double score = input.nextDouble();
int level1,level2;
if(score=60.0 score=100.0){
System.out.print("該學(xué)生成績(jī)?yōu)閮?yōu)秀!");
}
else if(score=0 score60.0){
System.out.print("該學(xué)生成績(jī)?yōu)椴患案瘢?);
}
else{
System.out.print("您輸入的成績(jī)有誤!");
}
}?? ?
}
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ì)算,離開請(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("您沒有輸入學(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);
}
}
正好我閑著,給你寫一個(gè)吧。
我寫的這個(gè)評(píng)委分?jǐn)?shù)是在代碼里固定到數(shù)組里了,如果你需要運(yùn)行時(shí)手動(dòng)輸入評(píng)分,可以將oldScores里的數(shù)據(jù)改成手動(dòng)輸入就行了(這個(gè)不用我再寫了吧,如果不會(huì)再追問(wèn),再告訴你)。
你先新建一個(gè)類,將下面的main方法全部復(fù)制進(jìn)去就能運(yùn)行了,自己看一下吧。
/**?主方法?*/
public?static?void?main(String[]?args)
{
/**?保存原始評(píng)分的數(shù)組(如果你需要運(yùn)行時(shí)手動(dòng)輸入分?jǐn)?shù),將?oldScores中的數(shù)據(jù)改成手動(dòng)輸入就行了?*/
double[]?oldScores?=?{15,?77,?55,?88,?79,?98,?67,?89,?68,?88};
/**?最終將用來(lái)保存排序后的數(shù)組?*/
double[]?scores?=?new?double[oldScores.length];
double?temp;
/**?平均分?*/
double?avg?=?0;
int?k;
/**?將原始評(píng)分放入最終排序數(shù)組?*/
for?(int?i?=?0;?i??oldScores.length;?i++)
{
scores[i]?=?oldScores[i];
}
/**?開始排序?*/
for?(int?i?=?0;?i??scores.length?-?1;?i++)
{
k?=?i;
for?(int?j?=?i?+?1;?j??scores.length;?j++)
{
if?(scores[k]??scores[j])
{
k?=?j;
}
}
if?(i?!=?k)
{
temp?=?scores[k];
scores[k]?=?scores[i];
scores[i]?=?temp;
}
}
/**?計(jì)算去掉最高分和最低分之后的和?*/
double?sum?=?0;
/**?記錄計(jì)算平均分的分?jǐn)?shù)個(gè)數(shù)?*/
double?num?=?0;
for?(int?i?=?1;?i??scores.length?-?1;?i++)
{
num++;
sum?+=?scores[i];
}
/**?計(jì)算平均分?*/
avg?=?sum?/?num;
/**?最公平的肯定不是在scores數(shù)組兩端?*/
double?zgp?=?0;
double?cha?=?0;
/**?標(biāo)記與平均值差值最小的分?jǐn)?shù)位置?*/
int?flag?=?0;
/**?開始尋找最公平評(píng)分?*/
for?(int?i?=?1;?i??scores.length?-?1;?i++)
{
/**?為cha賦初始值,注意比較差值要使用絕對(duì)值比較?*/
if?(i?==?1)
{
cha?=?Math.abs(scores[i]?-?avg);
}
double?cha1?=?Math.abs(scores[i]?-?avg);
if?(cha1??cha)
{
cha?=?cha1;
flag?=?i;
}
}
zgp?=?scores[flag];
/**?由于最不公平的分?jǐn)?shù)肯定在scores數(shù)組的第一個(gè)或者是最后一個(gè)?*/
double?bgp?=?0;
if?(Math.abs(scores[0]?-?avg)??Math.abs(scores[scores.length?-?1]?-?avg))
{
bgp?=?scores[0];
}
else
{
bgp?=?scores[scores.length?-?1];
}
/**?全部計(jì)算完成,下面開始輸出結(jié)果?*/
System.out.println("原始評(píng)委分?jǐn)?shù)如下:");
for?(int?i?=?0;?i??oldScores.length;?i++)
{
System.out.print(oldScores[i]?+?",?");
}
System.out.println();
System.out.println("排序后分?jǐn)?shù)如下:");
for?(int?i?=?0;?i??scores.length;?i++)
{
System.out.print(scores[i]?+?",?");
}
System.out.println();
System.out.println("去掉最高分和最低分后平均分:"?+?avg);
System.out.println("最公平分?jǐn)?shù):"?+?zgp);
System.out.println("最不公平分?jǐn)?shù):"?+?bgp);
}
按照題目要求編寫的用javaBean規(guī)范設(shè)計(jì)的學(xué)生類Student的Java程序如下
需要?jiǎng)?chuàng)建user.java.test包,把Student.java文件和Test.java文件放入包中,編譯Student.java文件并且編譯運(yùn)行Test.java文件得到運(yùn)行結(jié)果
Student.java文件代碼如下
package user.java.test;
import java.io.Serializable;
public class Student implements Serializable{
private static final long serialVersionUID = 1L;
private String no;
private String name;
private double score;
public Student(){}
public Student(String no,String name,double score){
this.no=no;
this.name=name;
this.score=score;
}
public String getNo(){ return no;}
public void setNo(String no){ this.no=no;}
public String getName(){ return name;}
public void setName(String name){ this.name=name;}
public double getScore(){ return score;}
public void setScore(double score){ this.score=score;}
public String toString(){
return "學(xué)號(hào):"+no+",姓名:"+name+",成績(jī):"+score;
}
public static double getAvg(Student[] sArray){
double sum=0,avg;
for(int i=0;isArray.length;i++){
sum=sum+sArray[i].getScore();
}
avg=sum/sArray.length;
return avg;
}
}
Test.java文件代碼如下
package user.java.test;
public class Test{
public static void main(String[] args){
Student[] sArray=new Student[5];
sArray[0]=new Student("001","張三",89.5);
sArray[1]=new Student("002","李四",82.5);
sArray[2]=new Student("003","王五",93);
sArray[3]=new Student("004","趙六",73.5);
sArray[4]=new Student("005","孫七",66);
System.out.println("這些學(xué)生的平均分:"+Student.getAvg(sArray));
for(int i=0;isArray.length;i++){
System.out.println(sArray[i].toString());
}
}
}