基于对象的java编程

(FenshuTest.java)

定义一个类FenShu,有成员变量:fenZi, fenMu;

方法 :

构造函数:(参数为分子和分母)

add方法,要求调用该方法,能返回两个分数的和,即另一个分数,这个分数需要除掉公约数。如:9/15  应该返回: 3/5.

   创建相应的测试类调用Fenshu的构造函数和add方法。 //FenshuTest.java

 

Java代码:

package first;



public class FenshuTest {

public static void main(String args[]) {

FenShu f1 = new FenShu(1, 15);

FenShu f2 = new FenShu(8, 15);

FenShu f3 = new FenShu();

f3 = f3.add(f1, f2);

System.out.printf("%s+%s=%s", f1, f2, f3);

}

}

package first;



public class FenShu {

int fenzi, fenmu;



public FenShu() {//无参的构造函数



}



public FenShu(int fenzi, int fenmu) {//有参的构造函数

this.fenzi = fenzi;

this.fenmu = fenmu;

}



public FenShu add(FenShu fenshu1, FenShu fenshu2) {//两个分数的和

FenShu fenshu3 = new FenShu();

fenshu3.fenzi = fenshu1.fenzi * fenshu2.fenmu + fenshu1.fenmu * fenshu2.fenzi;

fenshu3.fenmu = fenshu1.fenmu * fenshu2.fenmu;

int c = GCD(fenshu3.fenzi, fenshu3.fenmu);

fenshu3.fenzi /= c;

fenshu3.fenmu /= c;

return fenshu3;

}



int GCD(int a, int b) {

return a % b == 0 ? b : GCD(b, a % b);

}



public String toString() {

return this.fenzi + "/" + this.fenmu;

}

}

 

2: (Student.java)定义一个学生Student类,有ID,name,sex成员变量,有构造函数(ID参数, ID和name参数),对于学生的sex, 不能直接赋值给sex成员变量,需要通过setSex函数和getSex函数来分别设置和获取sex 变量。

 

Java代码:

package first;



public class Student {

String ID;

String name;

int sex;



Student() {//无参的构造函数



}



Student(String ID) {//只有ID参数的构造函数

this.ID = ID;

}



Student(String ID, String name) {//有ID和name的构造函数

this.ID = ID;

this.name = name;

}



void setSex(int a) {//构造方法设置性别

sex = a;

}



int getSex() {//得到性别的方法

return sex;

}



public static void main(String args[]) {

Student student1 = new Student("3171911118");

Student student2 = new Student("3171911118", "Huangyifeng");

student1.setSex(1);

student2.setSex(2);

System.out.printf("ID:%s name:%s sex:%d\n", student1.ID, student1.name, student1.sex);

System.out.printf("ID:%s name:%s sex:%d", student2.ID, student2.name, student2.sex);

}

}

 

3:(Calculator.java)创建一个Calculator 类,有add方法,能利用重载实现以下效果

  1:传进两个整数,返回两个整数之和。

2:传进一个整数,一个分数,返回一个分数

3:传进两个分数,返回一个分数

注意:分数是个类,是本实验内容1里创建的类

创建相应的测试类调用以上函数  //Calculator.java(测试函数直接放在Calculator类里)

 

Java代码:

package first;

public class Calculator {



public static void main(String args[]) {



//传两个整数

FenShu a = new FenShu();

System.out.println("Zhengshu + Zhengshu:"+ a.add(1, 2));



//传一个整数一个分数

FenShu f1 = new FenShu(1, 15);

System.out.println("Zhengshu + Fenshu:"+ f1.add(1, f1));



//传两个分数

FenShu f2 = new FenShu(1, 15);

FenShu f3 = new FenShu(8, 15);

System.out.println("Fenshu + Fenshu:"+ f3.add(f2, f3));

}

}



package first;



public class FenShu {

int fenzi, fenmu;



public FenShu() {//无参的构造函数



}



public FenShu(int fenzi, int fenmu) {//有参的构造函数

this.fenzi = fenzi;

this.fenmu = fenmu;

}



public int add(int a, int b) {//两个整数的和

return a + b;

}



public FenShu add(int a, FenShu fenshu2) {//一个整数一个分数

FenShu fenshu1 = new FenShu();

FenShu fenshu3 = new FenShu();

fenshu1.fenzi = a * fenshu2.fenmu;

fenshu1.fenmu = fenshu2.fenmu;

fenshu3 = add(fenshu1, fenshu2);

return fenshu3;

}



public FenShu add(FenShu fenshu1, FenShu fenshu2) {//两个分数的和

FenShu fenshu3 = new FenShu();

fenshu3.fenzi = fenshu1.fenzi * fenshu2.fenmu + fenshu1.fenmu * fenshu2.fenzi;

fenshu3.fenmu = fenshu1.fenmu * fenshu2.fenmu;

int c = GCD(fenshu3.fenzi, fenshu3.fenmu);

fenshu3.fenzi /= c;

fenshu3.fenmu /= c;

return fenshu3;

}



int GCD(int a, int b) {

return a % b == 0 ? b : GCD(b, a % b);

}



public String toString() {

return this.fenzi + "/" + this.fenmu;

}

}

 

4、2019-3-18日

定义类:cn.goods.Apple,有:价钱,重量

定义类: cn.Consumer ,有一个方法buy,能实现:

 创建一个苹果的实例,设置相应的价钱和重量,打印出:

“买了()斤苹果,苹果的单价是()元,总价是()元”实现相应操作 

Java代码:

package cn.goods;



public class Apple {

public double price;

public double weight;



public Apple() {



}



public Apple(double price, double weight) {

this.price = price;

this.weight = weight;

}



public double totalprice() {

return this.price * this.weight;

}

}

package cn;



import cn.goods.Apple;



public class Consumer {

Consumer() {



}



public void buy() {

Apple apple = new Apple(3.2, 4.5);

System.out.printf("买了%.2f斤苹果,苹果的单价是%.2f元,总价是%.2f元", apple.weight, apple.price, apple.totalprice());

}



public static void main(String args[]) {

Consumer c = new Consumer();

c.buy();

}

}

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值