(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();
}
}