实验四 面向对象编程(一)
一、实验项目名称
开发环境的设置和安装
二、实验目的
(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小时内删除。
发表评论