java学习整理三
1、编程创建一个立方体类Cube,在其中定义三个变量length,width,height分别表示一个立方体的长、宽和高,再定义一个方法setCube对这三个变量进行初始化,然后定义求立方体的体积和表面积的方法。
(1)编写一个测试类,在main方法中创建立方体对象,求给定尺寸的立方体的体积和表面积,并输入结果。
(2)改用构造方法实现长、宽和高的初始化。
(3)测试类放在包名为com.sy3.exe01.test包中,其它类放在com.sy3.exa01包中。
(知识点:类的定义,对象的创建,构造方法的使用)
(注意:如果需要从键盘输入长宽高的数据时,请从测试类的main方法中输入,程序的其它地方只接受传递的参数)
public class Cube { int length,width,height; public Cube(){ this.length = 0; this.width = 0; this.height = 0; } public void setCube() { } public Cube(int length, int width, int height) { super(); this.length = length; this.width = width; this.height = height; } public void tiji() { System.out.println("体积为:"+(this.length*this.width*this.height)); } public void mianji() { System.out.println("面积为:"+(this.length*this.width*2+this.length*height*2+this.width*this.height*2)); } }
import java.util.Scanner; public class test { public static void main(String[] args) { // TODO Auto-generated method stub int length,width,height; // new Cube().tiji(); // new Cube().mianji(); // new Cube(2,2,2).tiji(); Scanner sc = new Scanner(System.in); System.out.println("input length:"); length = sc.nextInt(); System.out.println("input width:"); width = sc.nextInt(); System.out.println("input heigth:"); height = sc.nextInt(); Cube em = new Cube(length,width,height); em.tiji(); em.mianji(); } }
2、设计并实现一个课程类,代表学校中的一门课程,将这门课程的相关信息
组成该类的属性(如课程代码、课程名称、课程类别、学时、学分等),并在类中定义各个属性相关的访问方法(如获取和设置课程代码、课程名称,课程类别,获取和修改学时、学分,打印输出课程基本信息等),最后使用主函数测试此类(包括创建对象,调用相应方法等)。
|
课程号 |
课程名 |
学分 |
学时 |
课程类型 |
|
courId |
courName |
courCredit |
courHours |
courType |
|
E052026 |
Linux操作系统 |
3 |
56 |
专业选修 |
|
S052005 |
面向对象程序设计 |
3.5 |
56 |
专业教育 |
|
S052006 |
面向对象程序设计实验 |
1 |
32 |
专业教育 |
|
S052037 |
数据库原理及应用 |
3 |
48 |
专业教育 |
|
S052011 |
数据库原理及应用实验 |
1 |
32 |
专业教育 |
|
S052049 |
操作系统 |
4 |
64 |
专业教育 |
要求:
(1)创建一个课程类Course,定义该类的各个属性(如上表第二行),为个属性设置相应的setter/getter方法。
(2)定义一个没有参数和带有全部参数的构造方法。
(3)重写toString()方法,返回课程的信息。
(4)在该类中定义一个类变量passingScore,及格标准为60.
(5)新建测试类,在main方法中创建一个大小为6的课程数组,把上面表格中的6门课信息保存在该数组中。利用增强型循环输出课程的信息。
(6)在测试类中定义一个静态方法printCourses(Course[] courses),通过该方法输出课程中的信息。
(7)在测试类中定义一个静态方法printCourses(Course[] courses,float credit),通过该方法输出学分等于credit的课程信息。
(8)测试类放在包名为com.sy3.exe02.test包中,其它类放在com.sy3.exa02包中。
(知识点:类的定义,对象的创建,构造方法的使用,对象数组,静态变量和静态方法,方法重载)
(注意:课程的信息可以直接给定,不一定要通过键盘输入)
package Exp03_02_20170566134; public class Course { String courId; String courName; double courCredit; int courHours; String courType; public String getCourId() { return courId; } public void setCourId(String courId) { this.courId = courId; } public String getCourName() { return courName; } public void setCourName(String courName) { this.courName = courName; } public double getCourCredit() { return courCredit; } public void setCourCredit(float courCredit) { this.courCredit = courCredit; } public int getCourHours() { return courHours; } public void setCourHours(int courHours) { this.courHours = courHours; } public String getCourType() { return courType; } public void setCourType(String courType) { this.courType = courType; } public Course(String courId, String courName, double d, int courHours, String courType) { super(); this.courId = courId; this.courName = courName; this.courCredit = d; this.courHours = courHours; this.courType = courType; } public Course() { super(); } @Override public String toString() { return "Course [courId=" + courId + ", courName=" + courName + ", courCredit=" + courCredit + ", courHours=" + courHours + ", courType=" + courType + "]"; } static int passingScore = 60; static{ System.out.println("及格标准分数为:"+passingScore); } }
package Exp03_02_20170566134; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Course []p =new Course[6]; p[0] = new Course("E052026","Linux操作系统",3,56,"专业选修"); p[1] = new Course("S052005","面向对象程序设计",3.5,56,"专业教育"); p[2] = new Course("S052006","面向对象程序设计实验",1,56,"专业教育"); p[3] = new Course("S052037","数据库原理及应用",3,56,"专业教育"); p[4] = new Course("S052011","数据库原理及应用实验",1,56,"专业教育"); p[5] = new Course("S052049","操作系统",4,56,"专业教育"); for(Course echo:p){ System.out.println(echo); } printCourses(p,(float)3.5); } public static void printCourses(Course[] courses,float credit){ for(Course echo:courses){ if(echo.courCredit==credit){ System.out.println(echo); } } } }
3、设计并实现一个“信电工程学院学生通信录”系统。系统采用字符界面,在出现的主界面中按提示输入相应字符以选择“增加”、“删除”、“修改”、“查找”等功能进行操作。学生通信录信息的存储可采用数组的方式。
要求:
(1)新建一个学生信息类StudentInfo,定义该类的各个属性(如下表第二行),变量的访问修饰符为private,为个属性设置相应的setter/getter方法。
(2)为StudentInfo类定义三个构造方法,一个没有参数,一个带有学号、姓名、性别及班级四个参数,一个带有全部参数。
(3)在StudentInfo类中定义显示学生信息的方法 void showStuInfo()。
(4)创建一个通讯录类Contacts,在该类中定义一个能最大能容纳100个学生的对象数组students,该数组用于保存学生信息,定义一个表示当前有几个学生信息的变量count,该变量类型为整型。变量的访问修饰符为private,为个属性设置相应的setter/getter方法。
(5)在Contacts类中定义添加学生信息、修改学生信息和删除学生信息,以及查找学生信息的方法。
● void append(StudentInfo student)
//在添加学生信息时,学号要保证是唯一的,且保证没有超过最大100人。
● void update(StudentInfo newStudent,String stuId)
//根据学号进行修改
● void delete(String stuId)
//根据学号删除学生信息
● Student findByStuId(String stuId)
//根据学号查找某个学生信息
● Student[] findByStuClass(String stuClass)
//根据班级查找某个班里学生信息
● Student[] find()
//查找所有学生信息
(6)创建测试类,根据输入的命令参数完成学生通讯录信息的“增加”、“删除”、“修改”、“查找”等功能。
(7)测试类放在包名为com.sy3.exe03.test包中,其它类放在com.sy3.exa03包中。
(知识点:类的定义,对象的创建,构造方法的重载,对象数组,对象与对象之间的关系)
(注意:参考数据如下,所有数据的输入都在测试类里完成)
|
学号 |
姓名 |
性别 |
出生日期 |
班级名称 |
联系电话 |
QQ号码 |
|
stuId |
stuName |
stuSex |
stuBirth |
stuClass |
stuTel |
stuQQ |
|
20130501401 |
刘丹 |
女 |
1992/10/2 |
13网络1单 |
13922222222 |
7843782 |
|
20130501402 |
徐小怡 |
女 |
1992/10/3 |
13网络1单 |
13922222223 |
273464 |
|
20130501404 |
赵蒙 |
女 |
1992/10/4 |
13网络2单 |
13922222224 |
9043550 |
|
20130501405 |
陈冰倩 |
女 |
1992/10/5 |
13网络2单 |
13922222225 |
8397231 |
|
20130501406 |
张琦琦 |
女 |
1992/10/6 |
13网络2单 |
13922222226 |
8244973 |
|
20130501407 |
施锦烨 |
女 |
1992/10/7 |
13网络3单 |
13922222227 |
4137413 |
package Exp03_03_20170566134; import java.util.Scanner; public class Contacts extends StudentInfo{ StudentInfo []stu = new StudentInfo[100]; private int count=0; public StudentInfo[] getStu() { return stu; } public void setStu(StudentInfo[] stu) { this.stu = stu; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } // public Contacts(){ // for (int i = 0; i < stu.length; i++) { // stu[i] = new StudentInfo(); // stu[i].setStuId("0"); // } // } public int isExisting(String stuId){ //为 0 不存在 int flag = 0; for (int i = 0; i < count; i++) { if (stu[i].getStuId().equals(stuId)) { flag =1; } } return flag; } void append(StudentInfo student){ int length = count; if (student instanceof StudentInfo) { StudentInfo em =new StudentInfo(student.getStuId(),student.getStuName(),student.getStuSex(), student.getStuBirth(),student.getStuClass(),student.getStuTel(),student.getStuQQ()); for (int i = 0; i < 7; i++) { //System.out.println(student.getStuId()); stu[length] = em; } count++; } else { System.out.println("学生信息对象出错"); } } void update(StudentInfo newStudent,String stuId){ if (isExisting(stuId)== 1) { //当学生存在的时候 Scanner sc = new Scanner(System.in); System.out.println("请输入跟新学生的信息"); // System.out.print("更新的学号为:"); // String id=sc.next();设置学号不可以更新 System.out.print("更新的姓名为:"); String name=sc.next(); System.out.print("更新的性别为:"); String sex=sc.next(); System.out.print("更新的生日为:"); String birth=sc.next(); System.out.print("更新的班级名称为:"); String clas=sc.next(); System.out.print("更新的电话为:"); String phone=sc.next(); System.out.print("更新的qq号码为:"); String qq=sc.next(); newStudent = new StudentInfo(stuId,name,sex,birth,clas,phone,qq); for (int i = 0; i < count; i++) { if (stu[i].getStuId().equals(stuId)) { stu[i] = newStudent; System.out.println("更新了学号为"+stuId+"的学生"); } } }else { System.out.println("修改出错,为找到学生信息"); } } void delete(String stuId){ for (int i = 0; i < count; i++) { if (stu[i].getStuId().equals(stuId)) { for (int j2 = i; j2 < 99; j2++) { stu[j2] = stu[j2+1]; } System.out.println("删除学号为"+stuId+"的学生"); count--; } } } StudentInfo findByStuId(String stuId){ for (int i = 0; i < count; i++) { if (stu[i].getStuId().equals(stuId)) { System.out.println("学号 :"+stu[i].getStuId()+"\t姓名 :"+stu[i].getStuName()+ "\t性别:"+stu[i].getStuSex()+"\t出生日期:"+stu[i].getStuBirth()+"\t班级名称:"+stu[i].getStuClass()+ "\t联系电话:"+stu[i].getStuTel()+"\tQQ号码:"+stu[i].getStuQQ()); } } return null; } StudentInfo[] findByStuClass(String stuClass){ for (int i = 0; i < count; i++) { if (stu[i].getStuClass().equals(stuClass)) { System.out.println("学号 :"+stu[i].getStuId()+"\t姓名 :"+stu[i].getStuName()+ "\t性别:"+stu[i].getStuSex()+"\t出生日期:"+stu[i].getStuBirth()+"\t班级名称:"+stu[i].getStuClass()+ "\t联系电话:"+stu[i].getStuTel()+"\tQQ号码:"+stu[i].getStuQQ()); } } return null; } void find(){ System.out.println(count); try { System.out.println("学生信息如下:"); for (int i = 0; i < count; i++) { System.out.println("学号 :"+stu[i].getStuId()+"\t姓名 :"+stu[i].getStuName()+ "\t性别:"+stu[i].getStuSex()+"\t出生日期:"+stu[i].getStuBirth()+"\t班级名称:"+stu[i].getStuClass()+ "\t联系电话:"+stu[i].getStuTel()+"\tQQ号码:"+stu[i].getStuQQ()); } } catch (Exception e) { // TODO: handle exception } } }
package Exp03_03_20170566134; public class StudentInfo { private String stuId; private String stuName; private String stuSex; private String stuBirth; private String stuClass; private String stuTel; private String stuQQ; public String getStuId() { return stuId; } public void setStuId(String stuId) { this.stuId = stuId; } public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } public String getStuSex() { return stuSex; } public void setStuSex(String stuSex) { this.stuSex = stuSex; } public String getStuBirth() { return stuBirth; } public void setStuBirth(String stuBirth) { this.stuBirth = stuBirth; } public String getStuClass() { return stuClass; } public void setStuClass(String stuClass) { this.stuClass = stuClass; } public String getStuTel() { return stuTel; } public void setStuTel(String stuTel) { this.stuTel = stuTel; } public String getStuQQ() { return stuQQ; } public void setStuQQ(String stuQQ) { this.stuQQ = stuQQ; } public StudentInfo() { super(); } public StudentInfo(String stuId, String stuName, String stuSex, String stuClass) { super(); this.stuId = stuId; this.stuName = stuName; this.stuSex = stuSex; this.stuClass = stuClass; } public StudentInfo(String stuId, String stuName, String stuSex, String stuBirth, String stuClass, String stuTel, String stuQQ) { super(); this.stuId = stuId; this.stuName = stuName; this.stuSex = stuSex; this.stuBirth = stuBirth; this.stuClass = stuClass; this.stuTel = stuTel; this.stuQQ = stuQQ; } void showStuInfo(){ System.out.println("StudentInfo [stuId=" + stuId + ", stuName=" + stuName + ", stuSex=" + stuSex + ", stuBirth=" + stuBirth + ", stuClass=" + stuClass + ", stuTel=" + stuTel + ", stuQQ=" + stuQQ + "]"); } }
package Exp03_03_20170566134; import java.util.Scanner; public class Test { /** * @param args */ public StudentInfo inputStudentInfo(){ StudentInfo student =new StudentInfo(); Scanner sc = new Scanner(System.in); System.out.println("输入学生学号"); String stuId =sc.next(); System.out.println("输入学生姓名"); String stuName = sc.next(); System.out.println("输入学生性别"); String stuSex = sc.next(); System.out.println("输入学生出生日期"); String stuBirth = sc.next(); System.out.println("输入班级名称"); String stuClass=sc.next(); System.out.println("输入学生电话"); String stuTel=sc.next(); System.out.println("输入qq号码"); String stuQQ = sc.next(); student.setStuId(stuId); student.setStuName(stuName); student.setStuSex(stuSex); student.setStuBirth(stuBirth); student.setStuClass(stuClass); student.setStuTel(stuTel); student.setStuQQ(stuQQ); return student; } public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("创建学生对象,并接受学生信息"); Scanner sc = new Scanner(System.in); int action; int i=1; String stuId; String classid; Test et =new Test(); Contacts con = new Contacts(); while(i==1){ System.out.println("请输入您对于学生信息的操作 1.添加 2.显示 所有学生信息3.根据学号修改信息修改 4.根据学号删除 5.根据学号查找 6.根据班级查找班级里学生信息"); action = sc.nextInt(); switch (action) { case 1: StudentInfo student = et.inputStudentInfo(); int isExist = con.isExisting(student.getStuId()); System.out.println("存在吗?"+isExist); if (isExist==1) { System.out.println("您的输入有误,该学生已经存在"); } else { con.append(student); System.out.println("添加的学生学号为:"+student.getStuId()); System.out.println("添加学生信息成功"); } break; case 2: con.find(); break; case 3: System.out.println("请输入需要更新信息学生的学号"); stuId = sc.next(); StudentInfo newStudent =new StudentInfo(); con.update(newStudent, stuId); break; case 4: System.out.println("请输入删除的学号"); stuId = sc.next(); con.delete(stuId); break; case 5: System.out.println("请输入查找的学号"); stuId = sc.next(); con.findByStuId(stuId); break; case 6: System.out.println("请输入班级名称"); classid = sc.next(); con.findByStuClass(classid); break; } System.out.println("是否继续 1.继续 2.退出"); i = sc.nextInt(); } } }

浙公网安备 33010602011771号