java编程问题一个简单的小程序

用java编写一个分数类,实现分数的加减乘除,属性;分子,分母/2。方法;乘法,除法,加法,减法。1/2*1/3=1*1/2*3... 用java编写一个分数类,实现分数的加减乘除,属性;分子,分母/2。方法;乘法,除法,加法,减法。1/2*1/3=1*1/2*3 展开
 我来答
anglewang98
推荐于2016-06-27 · TA获得超过535个赞
知道小有建树答主
回答量:420
采纳率:80%
帮助的人:282万
展开全部

分数定义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是主方法,用于测试。
我在关键步骤都加了注释。应该算是很好理解的了。
断念之桥
2014-09-22 · 超过21用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:39.8万
展开全部
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;
 }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
放荡不羁神经病
2014-09-22 · TA获得超过794个赞
知道小有建树答主
回答量:1580
采纳率:65%
帮助的人:579万
展开全部
这种提随便找本书看前面3~4章就能做出了。。。重点看面向对象那章。
更多追问追答
追问
大神,现在能帮我编一下,急用啊,谢谢啦
追答
交作业?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dgddssdhh
2014-09-22 · TA获得超过768个赞
知道小有建树答主
回答量:1455
采纳率:53%
帮助的人:516万
展开全部
如果只是两个分数进行操作的话,就比较简单了如
加法:1/2+2/3 = 1*3/2*3 + 2*2/2*3 = 1*3+2*2 / 2*3 这样就好理解了
减法也一样
乘法 没什么好说的
除法就是换位置做乘法。每个封装一下 最后判断一下有没有公约数就好了。。。。
希望这么说你可以理解,本人比较懒。。。所以就用文字描述了。。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式