资源描述
《Java程序设计》课程设计指导书
一、课程设计的目的
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机地结合起来,锻炼学生的分析解决实际问题的能力。提高学生运用所学知识解决实际问题的能力。利用所学的面向对象及Java编程知识和技巧,通过布置具有一定难度的程序设计题目,并且要求学生独立完成所布置题目,在分析设计过程中,要求学生养成良好的编程习惯,学会分析简单的实际问题,并能利用所学的知识建立系统的逻辑结构,学会简单的调试技巧和方法。根据系统的功能要求,要求学生在教师的指导下逐步完成程序的设计。
二、课程设计题目、结构及要求
第一部分 小程序练习
1. 输出50—100间的所有素数,其中判断一个数是否为素数用函数完成。
public class cc {
public static void main(String[] args) {
getP2(100);
}
public static void getP2(int n) {
int count = 0;
for (int i = 50; i <= n; i++) {
int j;
int k = (int) Math.sqrt(i) + 1;
for (j = 2; j <= k; j++) {
if (i % j == 0)
break;
}
if (j >= k) {
System.out.print(i + ", ");
count++;
}
}
System.out.println("Total: " + count);
}
}
2. 设计一个学生成绩管理系统,能输入学生的学号、姓名和成绩等数据,能按成绩从高到低进行排序,并能将排序的结果输出。
提示:
设计一个学生类student,包含三个私有数据成员,即学号sno、姓名sname和成员score;
在学生类student中再设计三个方法 setdata、display和getscore,分别用于完成输入学生信息、输出学生信息、返回某个学生成绩的功能;
定义一个manage类,它有一个student类型的私有数据成员s[num],其中num表示学生人数;
在manage类中分别定义三个方法input、output、sort,分别用于完成输入、输出和排序功能。student类:
public class student {
int num;
private String sno;
private String sname;
private float score;
//变量的set和get
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public float getScore() {
return score;
}
public void setScore(float score) {
this.score = score;
}
public int display(Object o){
student m = (student)o;
return (int)(this.score - m.score);
}
public void setdata(){
System.out.println("请输入学生人数:");
}
}
manage类:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class manage{
int num;
static List <student> sa=new ArrayList<student>();
public static void main(String[] args)
{
manage ss=new manage();
ss.input();
System.out.println("学号"+"\t"+"姓名"+"\t"+"成绩");
ss.sort();
ss.output(sa);
}
public List <student> input(){
Scanner in = new Scanner(System.in);
student sk=new student();
sk.setdata();
num=in.nextInt();
for(int i=0;i<num;i++)
{
student s1=new student();
System.out.println("请输入第"+(i+1)+"个学生的学号:");
s1.setSno(in.next());
System.out.println("请输入第"+(i+1)+"个学生的姓名:");
s1.setSname(in.next());
System.out.println("请输入第"+(i+1)+"个学生的成绩:");
s1.setScore(in.nextFloat());
sa.add(s1);
}
return sa;
}
public void output(List <student> sa){
String total_ch=null;
float total_ma=0;
String total_eng=null;
System.out.println();
for(int i=0;i<num;i++){
total_ch=sa.get(i).getSno();
total_eng=sa.get(i).getSname();
total_ma=sa.get(i).getScore();
System.out.println();
System.out.println(total_ch+"\t"+total_eng+"\t"+total_ma+"\n");
System.out.println();
}}
public void sort() {//按成绩进行排序
for (int i = 0; i < sa.size(); i++) {
for (int j = 0; j < sa.size()-1-i; j++) {
if (sa.get(j).getScore() < sa.get(j+1).getScore()) {
Object o=sa.get(j);
sa.set(j, sa.get(j+1));
sa.set(j+1, (student) o);
}
}
}
}
}
展开阅读全文