欢迎去往我的github

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));
    }
}
Cube类
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();
    }

}
test类

 

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);
        
    }
}
Course 类
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);
            }
        }
    }

}
test类

 

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
        }
        
    
        
    }
    
}
Contacts extends StudentInfo
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 + "]");
    }
    
    
}
StudentInfo
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();
        }
        
    }

}
test类

 

posted @ 2019-11-30 23:52  月夜魂归  阅读(953)  评论(0)    收藏  举报
……