实验二 Java面对对象复习

  1. 编写一个矩形类,将长宽作为矩形类的属性,在构造方法中将其初始化,定义一个成员方法求此矩形的面积。
    功能扩展:
    在长方形类的基础上构造一个长方体的类,并实现求长方体的体积。
    源程序:
public class t1 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		sc s1 = new sc(4,5,2);
		System.out.println("矩形的面积是"+s1.mian());
		System.out.println("长方体的体积是"+s1.ti());
	}
	

}
 class sc {
	 double chang,kuan,gao;
	public sc(double chang,double kuan,double gao) {
		this.chang=chang;
		this.kuan=kuan;
		this.gao =gao;
	}
	public double mian() {
		return chang*kuan;
	}
	public double ti() {
		return mian()*gao;
	}
}

2.设计一个Shape接口和它的两个实现类Square和Circle,要求如下:
1)Shape接口中有一个抽象方法area(),方法接收有一个double类型的参数,返回一个double类型的结果
2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的面积并返回
在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积。
源程序:

 interface Shape{
	 double area(double a);
}
class Square implements Shape{//正方形
	public double area(double a) {
		return a*a;
	}
}
class Cricle implements Shape {//圆形
	public double area(double a) {
		return 3.14*a*a;
	}
}
public class t2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Shape zheng = new Square();
		Shape yuan = new Cricle();
		//zheng.area(2);
		//yuan.area(3);
		System.out.println("正方形的面积是:"+zheng.area(2));
		System.out.println("圆形的面积是:"+yuan.area(3));
		
	}
}

3.计算从今天算起,100天以后是几月几号,并格式化成xxxx年x月x日的形式打印出来。
提示:
1)调用Calendar类的add()方法计算100天后的日期
2)调用Calendar的getTime() 方法返回Date类型对象
3)使用SimpleDateFormat对象,调用format() 方法格式化Date对象。
源程序:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class t3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Calendar cal = Calendar.getInstance();
		cal.add(Calendar.DAY_OF_MONTH,+100);
		System.out.println("100天后是"+cal.get(Calendar.YEAR)+"年"+(cal.get(Calendar.MONTH)+1)+"月"
				+cal.get(Calendar.DAY_OF_MONTH)+"日");
		Date date = cal.getTime();
		SimpleDateFormat f = new SimpleDateFormat("yyyy年MM月dd日");
		System.out.println(f.format(date));
		
	}

}

4.在控制台实现如下日历的显示:
在这里插入图片描述

public class t4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//调用方法
		t4_1 bean = new t4_1();
		//确定年份和月份
		bean.setyear(2020);
		bean.setmonth(8);
		//此时d[]就是t4_1中的数组tian[]
		String d[]=bean.get();
		//日历的数组头
		String title = "日一二三四五六";
		//输出等于i时,String型文本title中的第i个字符
		for(int i = 0;i<title.length();i++)
			System.out.printf("%5c",title.charAt(i));
		for(int i = 0;i<d.length;i++) {
			if(i%7==0)
				System.out.println();
			System.out.printf("%4s",d[i]);
		}
	}

}
import java.util.Calendar;
public class t4_1 {
	int year,month;
	public void setyear(int year) {
		this.year=year;
	}
	public void setmonth(int month) {
		this.month=month;
	}
	public String[] get() {
		String tian[] = new String[42];
		//获取时间
		Calendar c = Calendar.getInstance();
		//year是setyear,month是setmonth。从t4中bean.setyear(2020);bean.setmonth(8);得到
		//获取当月1日
		c.set(year, month-1,1);
		//获取当月1日是星期几
		int week = c.get(Calendar.DAY_OF_WEEK)-1;
		//根据周几确定几个空格
		int i;
		for(i = 0;i<week;i++)
			tian[i]=" ";
		//日期确定有几天,此时i等于空格数
		int days = 30;
		if(month == 1||month == 3||month == 5||month == 7||month == 8||month == 10||month == 12)
			days = 31;
		else if(month == 2) {
			if(year%4==0&year%100!=0||year%400==0)
				days = 29;
			else
				days = 28;
		}
		//第二部分日期,从int型转换成String型,j控制天数
		for(int j = 1;j<=days;j++) {
			tian[i++]=""+j;
		}
		//第三部分空格,此时i等于空格+日期数
		for(;i<42;i++)
			tian[i]=" ";
		return tian;
	}
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值