//问题:求一个长方形的周长和面积
创新互联建站专注于昌图企业网站建设,成都响应式网站建设公司,成都商城网站开发。昌图网站建设公司,为昌图等地区提供建站服务。全流程按需网站设计,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
/*以面向过程的程序设计方式思考:
1.确定长方形的周长和面积的算法;
2.编写两个方法(函数)分别计算长方形的周长和面积;
3.求周长的方法(函数)和求面积的方法(函数)需要两个参数,
分别是长方形的长和宽*/
//面向过程的程序设计代码:
/*classRectangle
{
static
float
perimeter(float
length,floatwidth)
{
return
2*(length+width);
}
static
float
area(float
length,
float
width)
{
return
length*width;
}
public
static
void
main(String[]
args)
{
System.out.println("the
perimeter
is
="
+perimeter(3.123f,4.267f));
System.out.println("the
area
is="
+area(3.123f,4.267f));//使用f来表示浮点
}
}*/
/*以面向对象的程序设计方式思考:
1.一个长方形可以看成是一个长方形对象;
2.一个长方形对象有两个状态(长和宽)和两个行为(求周长和面积)
3.将所有长方形的共性抽取出来,设计一个长方形的类
4.通过长方形对象的行为,就可以求出某个具体的长方形的周长和面积*/
//面向对象的程序设计代码:
classRectangle
{
float
l,h;//有两个状态,即两个成员变量
float
perimeter()
{
return
2*(l+h);
}
float
area()
{
return
l*h;
}
public
static
void
main(String[]
args)
{
Rectangle
rect1=newRectangle();
Rectangle
rect2=newRectangle();
rect1.l=10.13f;
rect1.h=5.74f;
rect2.l=12.21f;
rect2.h=24.13f;
System.out.println("Theperimeter
is
="
+
rect1.perimeter());
System.out.println("The
area
is="
+
rect1.area());
System.out.println("Theperimeter
is
="
+
rect2.perimeter());
System.out.println("The
area
is="
+
rect2.area());
}
/*K:\Java\try\lesson3javacRectangle.java
K:\Java\try\lesson3java
Rectangle
The
perimeter
is
=31.74
The
area
is
=58.1462
The
perimeter
is
=72.68
The
area
is
=294.6273
*/
}
把 人 封装成一个类Person,继承这个类 变有了 人应该有的属性
把 家庭成员关系封装一个类Family,继承这个类有了家庭关系的属性
把工作封装成一个接口Jop,继承这个接口实现了工作的方法
由于Person 和 Family 属性都是固定的,即每个人的情况基本都一样所以封装成类
Jop 则是因为 每个人的工作不一样,所有做成接口,究竟是什么样的工作让这个人来实现
这里Person 和 Family需要的属性并不多,所以我统一将他们封装了一个类 Person 实现代码如下:
public class XiaoHong extends Person implements Jop {
public XiaoHong(String name, String sex, String Father, String Mother,
String Son) {
super(name, sex, Father, Mother, Son);
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
XiaoHong xiaohong = new XiaoHong("小红","女","李雷", "韩梅梅", "讨厌啦!人家还小!");
System.out.println(xiaohong);
xiaohong.work();
}
@Override
public void work() {
System.out.println("我是一个高中生");
}
}
/********************************************************************************/
public class Person {
private String name = "I Don't Know";
private String sex = "I Don't Know";
private String Father = "I Don't Know";
private String Mother = "I Don't Know";
private String Son = "I Don't Know";
public Person(String name, String sex, String myFather, String myMother,
String mySon) {
super();
this.name = name;
this.sex = sex;
this.Father = myFather;
this.Mother = myMother;
this.Son = mySon;
}
public String getName() {
return name;
}
public String getSex() {
return sex;
}
public String getMyFather() {
return Father;
}
public String getMyMother() {
return Mother;
}
public String getMySon() {
return Son;
}
@Override
public String toString() {
return "Person [name=" + name + ", sex=" + sex + ", Father="
+ Father + ", Mother=" + Mother + ", Son=" + Son
+ "]";
}
}
/******************************************************************************/
public interface Jop {
public void work();
}
import java.util.Scanner;
public class Demo
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
Point p1,p2;
System.out.println("请输入第1个点的x、y坐标:");
p1=new Point(sc.nextDouble(),sc.nextDouble());
System.out.println("请输入第2个点的x、y坐标:");
p2=new Point(sc.nextDouble(),sc.nextDouble());
System.out.println("点"+p1+"与点"+p2+"的距离是"+p1.distance(p2));
}
}
class Point
{
Point(double x,double y)
{
this.x=x;
this.y=y;
}
public String toString()
{
return "("+x+","+y+")";
}
double distance(Point p)
{
return Math.sqrt(Math.pow(this.x-p.x,2)+Math.pow(this.y-p.y,2));
}
private double x,y;
}
public class Person {
//(1) 设计一个类 人员,包含三个成员变量:姓名、年龄、性别。
private String name;
private int age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
//(2) 设计员工和顾客两个类为 人员类的子类,员工类包含一个成员变量:职称级别;顾客包含一个成员变量:账户余额。
class worker extends Person{
private String Title_Level;
public String getTitle_Level() {
return Title_Level;
}
public void setTitle_Level(String title_Level) {
Title_Level = title_Level;
}
}
class Customer extends Person{
private int Account_balance;
public int getAccount_balance() {
return Account_balance;
}
public void setAccount_balance(int account_balance) {
Account_balance = account_balance;
}
}
//(3) 设计一个类 取款机包含两个成员方法:取款,查询账户。
interface ATM{
void Teller(Customer cus);
void Checkaccount(Customer cus);
}
//4) 实现取款机的取款方法,
//当顾客来取钱但是账户余额不足时抛出异常“余额不足”并显示,
//无论取款是否发生异常,最终取款方法需要执行“退卡”操作。
class ATMimpl implements ATM{
public void Checkaccount(Customer cus) {
}
public void Teller(Customer cus) {
}
}