- 编写一个矩形类,将长宽作为矩形类的属性,在构造方法中将其初始化,定义一个成员方法求此矩形的面积。
功能扩展:
在长方形类的基础上构造一个长方体的类,并实现求长方体的体积。
源程序:
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;
}
}