1.
编写一个应用程序,该程序中有 3 个类:Trangle、Leder 和 Circle,分别用来刻画“三角形”、“梯形”和“圆形”。
要求:Trangle 类具有类型为 double 的三个边,以及周长、面积属性,Trangle 类具有返回周
长、面积以及修改三个边的功能。另外,Trangle 类还具有一个 boolean 型的属性,该属性用
来判断三个属能否构成一个三角形。
Lader 类具有类型 double 的上底、下底、高、面积属性,具有返回面积的功能。
Circle 类具有类型为 double 的半径、周长和面积属性,具有返回周长、 面积的功能。
Triangle类
package lei;
import java.util.Scanner;
public class Triangle {
private double a;
private double b;
private double c;
private boolean isTriangle;
//构造方法
public Triangle(){
}
public Triangle(double a,double b,double c) {
this.a=a;
this.b=b;
this.c=c;
}
//Triangle()方法 判断是不是三角形
public boolean Triangle() {
if((a+b>c&&a-b<c)&&(a+c>b&&a-c<b)&&(b+c>a&&b-c<a)) {
return true;
}else {
return false;
}
}
//get set 得到三条边的长
public double getA() {
return a;
}
public void setA(double a) {
this.a=a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b=b;
}
public double getC() {
return c;
}
public void setC(double c) {
this.c=c;
}
//周长
public double getZhouChang() {
isTriangle=Triangle(); //isTriangle = true或false
if(isTriangle) {
double zhou=a+b+c;
return zhou;
}
else {
System.out.println("三边不能构成上三角形!");
return 0;
}
}
//面积
public double getMianJi() {
isTriangle=Triangle(); //isTriangle = true或false
if(isTriangle) {
return (a+b+c)*0.5;
}else {
System.out.println("三边不能构成上三角形!");
return 0;
}
}
//询问是否要修改三角形的三条边
public void Ask() {
while(true) {
System.out.println("请问是否要修改三角形的三条边");
System.out.println("是(请输入1)");
System.out.println("否(请输入0)");
Scanner sc=new Scanner(System.in);
int select=sc.nextInt();
if(select==1) {
UpDate();
}else {
System.out.println("谢谢使用!");
break;
}
}
}
//更新边长
public void UpDate() {
Scanner sc=new Scanner(System.in);
System.out.println("请依次输入更改后的三角形的三条边:");
double a=sc.nextDouble();
double b=sc.nextDouble();
double c=sc.nextDouble();
//用set把a b c赋值给this.a,b,c 否则a b c的值没有改变
setA(a);
setB(b);
setC(c);
System.out.println("三角形的周长:"+getZhouChang());
System.out.println("三角形的面积:"+getMianJi());
}
}
Lader类
package lei;
public class Lader {
private double shangDi;
private double xiaDi;
private double high;
//构造方法
public Lader() {
}
public Lader(double shangDi,double xiaDi,double high) {
this.shangDi=shangDi;
this.xiaDi=xiaDi;
this.high=high;
}
//set get
public double getshangDi() {
return shangDi;
}
public void setshangDi(double shangDi) {
this.shangDi=shangDi;
}
public double getxiaDi() {
return xiaDi;
}
public void setxiaDi(double xiaDi) {
this.xiaDi=xiaDi;
}
public double gethigh() {
return high;
}
public void sethigh(double high) {
this.high=high;
}
//
public double getMianji2() {
double mianji=(shangDi+xiaDi)*high*0.5;
return mianji;
}
}
Circle类
package lei;
public class Circle {
private double r;
//构造方法
public Circle() {
}
public Circle(double r) {
this.r=r;
}
//set get
public double getr() {
return r;
}
public void setr(double r) {
this.r=r;
}
//
public double getMianJi3(){
double s=3.1415*r*r;
return s;
}
}
测试:
package lei;
import java.util.Scanner;
public class shiyan4_1 {
public static void main(String[] args) {
Triangle T1=new Triangle(6,8,10);
Lader l1=new Lader(4,6,3); //上底 下底 高
Circle c1=new Circle(5); //半径
Scanner sc=new Scanner(System.in);
System.out.println("三角形的周长:"+T1.getZhouChang());
System.out.println("三角形的面积:"+T1.getMianJi());
T1.Ask();
System.out.println("梯形的面积是:"+l1.getMianji2());
System.out.println("圆的面积是:"+c1.getMianJi3());
}
}
运行结果:
2.编写一个公司员工类。
(1) 数据成员:员工号、姓名、薪水、部门。
(2) 方法:①设置数据成员信息;②显示信息。
要求:利用构造方法完成设置信息,其中有四个重载的构造方法
单参:只传递员工号,则员工姓名:无名氏。薪水:0,部门:未定。
双参:传递员工号,姓名,则员工薪水为 1000,部门:后勤
4 参:传递员工号,姓名,部门,薪水
无参:则均为空值
Staff类:
package lei;
public class Staff {
int staffId;
String staffName;
int staffSalary;
String staffDepartment;
//构造方法
//无参
public Staff() {
this.staffId=0;
this.staffName=null;
this.staffSalary=0;
this.staffDepartment=null;
}
//单参
public Staff(int staffId) {
this.staffId=staffId;
this.staffName="无名氏";
this.staffSalary=0;
this.staffDepartment="未定";
}
//双参
public Staff(int staffId,String staffName) {
this.staffId=staffId;
this.staffName=staffName;
this.staffSalary=1000;
this.staffDepartment="后勤";
}
//四参
public Staff(int staffId,String staffName,int staffSalary,String staffDepartment) {
this.staffId=staffId;
this.staffName=staffName;
this.staffSalary=staffSalary;
this.staffDepartment=staffDepartment;
}
// get set
public int getStaffId() {
return staffId;
}
public void setStaffId(int staffId) {
this.staffId = staffId;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public int getStaffSalary() {
return staffSalary;
}
public void setStaffSalary(int staffSalary) {
this.staffSalary = staffSalary;
}
public String getStaffDepartment() {
return staffDepartment;
}
public void setStaffDepartment(String staffDepartment) {
this.staffDepartment = staffDepartment;
}
public void print() {
System.out.println("员工号:"+this.staffId+" "+"员工名:"+this.staffName+" "+"工资:"+
this.staffSalary+" "+"职位:"+this.staffDepartment);
}
测试:
public class shiyan4_2 {
public static void main(String[] args) {
Staff s1=new Staff();
Staff s2=new Staff(10002);
Staff s3=new Staff(10003,"李四");
Staff s4=new Staff(10004,"王五",2000,"前台");
s1.print();
s2.print();
s3.print();
s4.print();
}
}
运行结果:
3.完成图书馆管理系统中相关的类定义。
(1) 定义与编写学生 student 类,学生属性包括“学号”、“姓名”、“性别”、“专业”、“班级”。
(2) 定义与编写图书 book 类,图书属性包括“书名”、“ISBN 号”、“册数”。
(3) 登陆角色 role 类,角色类包括“用户名”、“密码”、“角色类型”。
要求:1、完成以上各类中的 setter 和 getter 接口
2、测试以上各类,并写出每个测试用例
Student类:
package lei;
public class Student {
String sno;
String sname;
String sex;
String major;
String sclass;
public Student() {
super();
}
public Student(String sno, String sname, String sex, String major, String sclass) {
super();
this.sno = sno;
this.sname = sname;
this.sex = sex;
this.major = major;
this.sclass = sclass;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String getSclass() {
return sclass;
}
public void setSclass(String sclass) {
this.sclass = sclass;
}
@Override
public String toString() {
return "Student [学号=" + sno + ", 姓名=" + sname + ", 性别=" + sex + ", "
+ "专业=" + major + ", 班级=" + sclass+ "]";
}
// public void print() {
// System.out.println("学号:"+this.sno+" 姓名"+this.sname+" 性别:"+
// this.sex+" 专业:"+this.major+" 班级"+this.sclass);
// }
}
Book类:
package lei;
public class Book {
String bname;
String bno;
int bsum;
public Book() {
}
public Book(String bname,String bno,int bsum) {
this.bname=bname;
this.bno=bno;
this.bsum=bsum;
}
public String getbname() {
return bname;
}
public void setbname(String bname) {
this.bname=bname;
}
public String getbno() {
return bno;
}
public void setbno(String bno) {
this.bno=bno;
}
public int getbsum() {
return bsum;
}
public void setbsun() {
this.bsum=bsum;
}
@Override
public String toString() {
return "Book [书名=" + bname + ", 编号=" + bno + ", 册数=" + bsum + "]";
}
}
Role类:
package lei;
public class Role {
String userName;
String password;
String roleType; //学生 老师 家长
public Role() {
super();
}
public Role(String userName, String password, String roleType) {
super();
this.userName = userName;
this.password = password;
this.roleType = roleType;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getRoleType() {
return roleType;
}
public void setRoleType(String roleType) {
this.roleType = roleType;
}
@Override
public String toString() {
return "Role [用户名=" + userName + ", 密码=" + password + ",角色类型=" + roleType + "]";
}
}
测试:
package lei;
public class shiyan4_3 {
public static void main(String[] args) {
Student s1=new Student("1002","苏安乐","女","医学信息工程","2020级医学信息工程本科班");
Book b1=new Book("云边有个小卖铺","20010101",1);
Role r1=new Role("安乐","147258","学生");
System.out.println(s1);
System.out.println(b1);
System.out.println(r1);
// s1.print();
}
}
运行结果:
明天会更好,加油吧