实验 1

生成一个日历类,输入日期后能正确输出对应的星期。例如,输入 2019,12,10 应能正确输出 星期二 。

public class CalculateWeekDay{
    public static void CalculateWeekDay(int y, int m, int d) {
        if(m < 1 || m >12){
            System.out.println("你输入的月份不再范围内,请重新输入!");
        }
        if (m == 1 || m == 2) {
            m += 12;
            y--;
        }
        int iWeek = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;
        switch (iWeek) {
            case 0:
                System.out.println("星期一\n");
                break;
            case 1:
                System.out.println("星期二\n");
                break;
            case 2:
                System.out.println("星期三\n");
                break;
            case 3:
                System.out.println("星期四\n");
                break;
            case 4:
                System.out.println("星期五\n");
                break;
            case 5:
                System.out.println("星期六\n");
                break;
            case 6:
                System.out.println("星期日\n");
                break;
        }
    }
    public static void main(String args[]) {
        CalculateWeekDay(2019, 12, 11);
    }
}

实验 2

使用递归计算出 12345…..30 的值并输出,使用递归计算 1+2+3+4+5+…..+1000 的值并输出。

public class DiGui {
    public static int jicheng(int n) {
        if(n==1||n==0)
            return n;
        else
            return n*jicheng(n-1);
    }
    public static int count(int n) {
        if(n==1||n==0)
            return n;
        else
            return n+count(n-1);
    }
    public static void main(String[] args) {
        System.out.println("1*2*3*4*5*.....*30="+count(30));
        System.out.println("1+2+3+4+5+.....+1000="+count(1000));
    }
}

实验 3

给定数组 1,5,3,7,11,6,13,9,8,找出该数组的最大值,求出该数组的平均值,对该数组求和并求出数组长度。

public class FindMax {
    public static void main(String[] args) {
        int[] arr= {1,5,3,7,11,6,13,9,8};
        int max=arr[0];
        int sum=0;
        float avg=0;
        for(int i=1;i<arr.length;i++) {
            if(arr[i]>max)
                max=arr[i];
            sum+=arr[i];
        }
        avg=sum/arr.length;
        System.out.println("max="+max);
        System.out.println("sum="+sum);
        System.out.println("avg="+avg);
        System.out.println("arr.length="+arr.length);
    }
}

实验 4

第 3 章课后习题 103 页第五大题编程题 1

class Student{
    private String name;
    private double  grade;
    public Student() {
    }
    public Student(String name,double grade) {
        this.name=name;
        this.grade=grade;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name=name;
    }
    public double getGrade() {
        return grade;
    }
    public void setGrade(double grade) {
        this.grade=grade;
    }
}
public class Test {
    public static void main(String[]args) {
        Student stu1=new Student();
        stu1.setName("zhangsan");
        stu1.setGrade(99);
        Student stu2=new Student();
        stu2.setName("Li");
        stu2.setGrade(100);
    }
}

实验 5

第 4 章课后习题 153 页第五大题编程题 1

/*Student.java*/
public class Student {
    public String name;
    public int age;
    public Student(String name,int age)
    {
      this.name=name;
      this.age=age;
    }
    public void show(){
        System.out.println("name: "+name+" age: "+age);
    }

}
/*UnderGraduate.java*/
public class UnderGraduate extends Student{
    public String degree;
    public UnderGraduate(String name,int age,String degree){
        super(name, age);
        this.degree=degree;}
     public void show(){
            System.out.println("name: "+name+" age: "+age+" degree: "+degree);
        }

}
/*Test01.java*/
public class Test01{
    public static void main(String[] args) {
        Student student = new Student("丽丽", 16);
        student.show();
        UnderGraduate underGraduate = new UnderGraduate("爱敬", 30, "bechalor");
        underGraduate.show();
    }
}

第 4 章课后习题 153 页第五大题编程题 2

/*Shape.java*/
public abstract class Shape {
    public abstract double area();
    public abstract String getType();
    public Shape(){};  
}
/*Circle.java*/
public class Circle extends Shape{

    private double radius;

    public Circle(double radius) {
        // TODO Auto-generated method stub
        this.radius=radius;
    }
    public double area() {
        // TODO Auto-generated method stub
        return radius*radius*3.14;
    }
    public String getType() {
        // TODO Auto-generated method stub
        return "circle";
    }
    public void show()
    {
        System.out.println("Type: "+getType()+" radius: "+radius+" area: "+area());
    }
}
/*Square.java*/
public class Square extends Shape{
    private double length;

    public Square(double length) {
        // TODO Auto-generated method stub
        this.length=length;
    }
    public double area() {
        // TODO Auto-generated method stub
        return length*length;
    }
    public String getType() {
        // TODO Auto-generated method stub
        return "square";
    }
    public void show()
    {
        System.out.println("Type: "+getType()+" length: "+length+" area: "+area());
    }
}
/*test2.java*/
public class test2 {
    public static void main(String[] args) {
        Square s1 = new Square(2);
        s1.show();
        Circle c1 = new Circle(3);
        c1.show();
    }
}

实验 6

第 10 章课后习题 387 页第五大题编程题 1

public class Test01 {
    public static void main(String[] args) {
        Teacher t = new Teacher();
        new Thread(t, "陈老师").start();
        new Thread(t, "高老师").start();
        new Thread(t, "李老师").start();
    }
}
class Teacher implements Runnable {
    private int notes = 80;
    public void run() {
        while (true) {
            dispatchNotes(); // 调用售票方法
            if (notes <= 0) {
                break;
            }
        }
    }
    private synchronized void dispatchNotes() {
        if (notes > 0) {
            try {
                Thread.sleep(10); // 经过的线程休眠10毫秒
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName() + "---发出的笔记"
                    + notes--);
        }
    }
}

菜鸡一个,啥也不会。