程序设计综合训练

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.编写程序,定义学生信息管理类StudentManager,在该类中包含对一组学生

信息(定义一个一维数组,数组元素类型为前面定义的Student)进行管理,要求:

a)在该类中包含输入学生信息的方法——input(Student[] students),要

求在该方法中,依次输入各位学生的学号、姓名、专业、年级,将其存

入到数组students中。

b)在该类中包含输出学生信息的方法——output(Student[] students),

要求在该方法中,依次输出students数组中各位学生的学号、姓名、专

业、年级信息。

c)在该类中包含对学生数组按姓名升序排序的方法——sort(Student[]

students), 要求在该方法中,对students数组中的元素按姓名升序排

列(字典顺序)。

d)定义main方法:定义Student一维数组,调用input方法输入数据,然

后调用output方法输出初始数组数据,调用sort方法对数组中元素排

序,最后调用output方法输出排序后的结果。

1)源程序

import java.util.Scanner;

class StudentManger{

Student[] students=new Student[2];

publicvoid input(){

for(int i=0;i

System.out.println("请输入姓名,年级,学号,专业");

Scanner input=new Scanner(System.in);

String a=input.next();

String b=input.next();

int c=input.nextInt();

String d=input.next();

students[i]=new Student(a,b,c,d);

}

}

public String output(){

String s="";

for(int i=0;i

s+="这个学生姓名为"+students[i].name+",年级为

"+students[i].grade+",学号为"+students[i].number+"专业为

"+students[i].getSpecialty();

return s;

}

publicvoid sort(){

String y="";

for(int i=students.length-1;i>0;i--){

for(int j=0;j

if(students[j+1]pareTo(students[j].name)>0){

y=students[j].name;

students[j].name=students[j+1].name;

students[j+1].name=y;

}

}

}

for(int i=0;i

System.out.println(students[i].name);

}

}

publicstaticvoid main(String[] args){

StudentManger x=new StudentManger();

x.input();

System.out.println(x.output());

x.sort();

}

}

2.题目:编写程序,定义成绩类Grade,要求:

a)域:课程名称cname(String)、平时成绩ps(0—30)、大作业dzy(0-20)、期末

考试qmks(0-50)、总评成绩zp(优、良、中、及格、不及格)。

b)输出Grade对象详细信息方法——showInfo(),输出课程的成绩明细和总评成绩。

c)StringgradeTrans(double)方法:将百分制转换为五级制:优、良、中、及格、不

及格。

注:此题要求画流程图

d)void computeZp():计算总评成绩zp的方法。要求在该方法中,将平时成绩(范围:0

—30)、大作业(范围:0-20)、期末考试成绩(范围:0-50)加起来计算总评成绩,并

调用方法StringgradeTrans(double)将计算所得的百分制转换为五级制。

e)方法void inputGrade(String,double,double,double):设置成绩科目,平时成

绩,大作业和期末考试的成绩,并调用computeZp计算总成绩。

f)定义main方法:定义一维数组grades,其元素类型为Grade,依次对grades中每

个元素进行成绩输入,调用computeZp方法,计算学生总成绩,并调用showInfo

方法输出结果。

1)源程序

package student;

import java.util.Scanner;

publicclass Grade {

double qmks;

static String zp;

String cname;

double ps;

double dzy;

public Grade(double qmks,Stringzp,Stringcname,double ps,double dzy){ this. qmks=qmks;

this. zp=zp;

this. cname=cname;

this. ps=ps;

this. dzy=dzy;

}

public Grade(String s, double s1, double s2, double s3) { // TODO Auto-generated constructor stub

}

publicvoid showInfo(){

System.out.println("平时成绩:"+ps+"\n大作业:"+dzy+"\n期末考试:"+qmks+"\n总评成绩:"+zp);

}

public String gradeTrans(double a){

int z=(int)a/10;

switch(z){

case 10:

System.out.println("优");

break;

case 9:

System.out.println("良");

break;

case 8:System.out.println("中");

break;

case 7:System.out.println("及格");

break;

case 6:System.out.println("不及格");

break;

相关文档
最新文档