java编程问题一个简单的小程序
用java编写一个分数类,实现分数的加减乘除,属性;分子,分母/2。方法;乘法,除法,加法,减法。1/2*1/3=1*1/2*3...
用java编写一个分数类,实现分数的加减乘除,属性;分子,分母/2。方法;乘法,除法,加法,减法。1/2*1/3=1*1/2*3
展开
4个回答
展开全部
分数定义class代码
package test;
public class Fractions {
private long numerator;//分子
private long denominator;//分母
/**
* @param numerator
* @param denominator
*/
public Fractions(long numerator, long denominator) {
super();
this.numerator = numerator;
this.denominator = denominator;
}
public Fractions() {
}
/**
* @return the numerator
*/
public long getNumerator() {
return numerator;
}
/**
* @param numerator the numerator to set
*/
public void setNumerator(long numerator) {
this.numerator = numerator;
}
/**
* @return the denominator
*/
public long getDenominator() {
return denominator;
}
/**
* @param denominator the denominator to set
*/
public void setDenominator(long denominator) {
this.denominator = denominator;
}
/**
* 分子加法计算
*/
public Fractions add(Fractions fractions){
Fractions result = new Fractions();
result.setNumerator(this.numerator*fractions.getDenominator() + this.denominator*fractions.getNumerator());//分子计算
result.setDenominator(this.denominator*fractions.getDenominator());//分母计算
return result;
}
//减法
public Fractions subtraction(Fractions fractions){
Fractions result = new Fractions();
result.setNumerator(this.numerator*fractions.getDenominator() - this.denominator*fractions.getNumerator());//分子计算
result.setDenominator(this.denominator*fractions.getDenominator());//分母计算
return result;
}
//除法
public Fractions divide(Fractions fractions){
Fractions result = new Fractions();
result.setNumerator(this.numerator*fractions.getDenominator());//分子计算
result.setDenominator(this.denominator*fractions.getNumerator());//分母计算
return result;
}
//乘法
public Fractions multiply(Fractions fractions){
Fractions result = new Fractions();
result.setNumerator(this.numerator*fractions.getNumerator());//分子计算
result.setDenominator(this.denominator*fractions.getDenominator());//分母计算
return result;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Fractions [");
builder.append(numerator);
builder.append("/");
builder.append(denominator);
builder.append("]");
return builder.toString();
}
public static void main(String[] args){
Fractions f1 = new Fractions(1,2);
System.out.println(f1);
Fractions f2 = new Fractions(1,3);
System.out.println(f2);
Fractions f3 = f1.add(f2);//加法运算
System.out.println(f3);
Fractions f4 = f1.subtraction(f2);//减法运算
System.out.println(f4);
Fractions f5 = f1.multiply(f2);//乘法运算
System.out.println(f5);
Fractions f6 = f1.divide(f2);//除法运算
System.out.println(f6);
}
}
运行结果:
Fractions [1/2]
Fractions [1/3]
Fractions [5/6]
Fractions [1/6]
Fractions [1/6]
Fractions [3/2]
追问
大神,能来一个简单点的吗,我是初学者,刚开始接触啊,谢谢了
追答
=_=!这个已经是简单的了啊。一个类搞定了。最下面的main方法就是测试方法。定义类Fractions,其拥有numerator和denominator两个属性,拥有add、subtraction、divide、multiply四个方法。已经是最简单的了。toString是重写object父类的方法,main是主方法,用于测试。
我在关键步骤都加了注释。应该算是很好理解的了。
展开全部
package com.test;
public class test4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
fs num1=new fs(1,2);
fs num2=new fs(5,6);
fs result=new fs();
result=result.plu(num2, num2);
result.show(result);
result=result.minu(num1, num2);
result.show(result);
result=result.time(num1, num2);
result.show(result);
result=result.div(num1, num2);
result.show(result);
}
}
class fs{
int fz;
int fm;
fs(){
this.fz=1;
this.fm=1;
}
fs(int i, int j) {
// TODO Auto-generated constructor stub
this.fz=i;
this.fm=j;
}
public void show(fs num){
System.out.println(num.fz+"/"+num.fm);
}
public fs plu(fs num1,fs num2){
fs sh=new fs();
sh.fz=num1.fz*num2.fm+num1.fm*num2.fz;
sh.fm=num1.fm*num2.fm;
return sh;
}
public fs minu(fs num1,fs num2){
fs sh=new fs();
sh.fz=num1.fz*num2.fm-num1.fm*num2.fz;
sh.fm=num1.fm*num2.fm;
return sh;
}
public fs time(fs num1,fs num2){
fs sh=new fs();
sh.fz=num1.fz*num2.fz;
sh.fm=num1.fm*num2.fm;
return sh;
}
public fs div(fs num1,fs num2){
fs sh=new fs();
sh.fz=num1.fz*num2.fm;
sh.fm=num1.fm*num2.fz;
return sh;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种提随便找本书看前面3~4章就能做出了。。。重点看面向对象那章。
更多追问追答
追问
大神,现在能帮我编一下,急用啊,谢谢啦
追答
交作业?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果只是两个分数进行操作的话,就比较简单了如
加法:1/2+2/3 = 1*3/2*3 + 2*2/2*3 = 1*3+2*2 / 2*3 这样就好理解了
减法也一样
乘法 没什么好说的
除法就是换位置做乘法。每个封装一下 最后判断一下有没有公约数就好了。。。。
希望这么说你可以理解,本人比较懒。。。所以就用文字描述了。。。
加法:1/2+2/3 = 1*3/2*3 + 2*2/2*3 = 1*3+2*2 / 2*3 这样就好理解了
减法也一样
乘法 没什么好说的
除法就是换位置做乘法。每个封装一下 最后判断一下有没有公约数就好了。。。。
希望这么说你可以理解,本人比较懒。。。所以就用文字描述了。。。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询