实验四 面向对象编程(一)
一、实验项目名称
开发环境的设置和安装
二、实验目的
(1)学习和掌握Intelli JIDEA软件的开发
(2)学习和掌握类的定义
(3)学习和掌握对象的创建
三、实验步骤
1.结合面向对象程序实现圆之间关系的判定。编写程序,提示用户输入 两个圆的中心坐标和各自的半径值,然后判断第二个圆是在第一个圆内, 还是和第一个圆重叠。
代码:
CirclesPosition类:
perimentFour;
public class CirclesPosition {
    private double x1,y1,r1;
    private double x2,y2,r2;
    CirclesPosition(double x1,double y1,double r1,double x2,double y2,double r2){
        this.x1 = x1;
        this.y1 = y1;
        this.r1 = r1;
        this.x2 = x2;
        this.y2 = y2;
        this.r2 = r2;
    }
    public String judgePosition(){
        double d1,d2;
        d1 = Math.sqrt(Math.pow(x1-x2,2)+Math.pow(y1-y2,2));
        d2 = r1 + r2;
        String result = "";
        if(d1 >= d2) result = "第二个圆在第一个圆外";
        else if((r1-r2) < d1 && d1 < d2) result = "第二个圆与第一个圆重叠";
        else if(x1 == x2 && y1 == y2 && r1 == r2) result = "第二个圆与第一个圆重合";
        else if(d1 < Math.abs(r1-r2)) result = "第二个圆在第一个圆内";
        return result;
    }
}
②主函数:
perimentFour;
import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        double x1,x2,y1,y2,r1,r2;
        System.out.println("请输入两圆的中心坐标:");
        x1 = Double();
        y1 = Double();
        x2 = Double();
        y2 = Double();
        System.out.println("请依次输入两圆的半径:");
        r1 = Double();
        r2 = Double();
        CirclesPosition circles = new CirclesPosition(x1,y1,r1,x2,y2,r2);
        String result = circles.judgePosition();
        System.out.println(result);
    }
}
2.编写一个程序,实现年历应用,结果如下图所示。
代码:
①业务逻辑:
perimentFour;
import java.time.LocalDate;
/**
* 创建日历
*/
public class Calendar {
    /**
    * 定义日历开头(年月星期)
    * @param month
    * @param year
    */
vs编程软件    public String getCalendarTitle(int year,int month){
        String result = String.format("%12d%s%2d%s\n",year,"",month,"");
        result += "              \n";
        return result;
    }
    /**
    * 获取每月天数前特判平闰年
    * @param year
    * @return
    */
    public boolean judgeLeapYear(int year){
        return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) ? true : false;
    }
    /**
    * 获取每月天数
    * @param year
    * @param month
    * @return
    */
    public int getMonthDay(int year,int month){
        return switch(month){
            case 1,3,5,7,8,10,12 -> 31;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。