用Java实现两个具体分数的相加?这代码有逻辑错误,求解答!
//分数类
public class FenShu {
private static int fenMu,fenZi;
public FenShu(int m,int n) {
fenZi=m;
fenMu=n;
}
public void addFenShu(int x,int y ){
fenZi=fenZi*y+fenMu*x;
fenMu=fenMu*y;
}
public int getFenZi(){
return fenZi;
}
public int getFenMu(){
return fenMu;
}
public int getGongYueShu(){
if(Math.abs(fenZi)<Math.abs(fenMu))
{
int t=fenZi;
fenZi=fenMu;
fenMu=t;
}
while(fenZi%fenMu!=0)
{
int yuShu=fenZi%fenMu;
fenZi=fenMu;
fenMu=yuShu;
}
return fenMu;
}
}
//主类
public class AppMain {
public static void main(String[] args) {
FenShu fenshu1=new FenShu(3,12);
fenshu1.addFenShu(4, 24);
int gongYueShu=fenshu1.getGongYueShu();
System.out.println("最大公约数为:"+gongYueShu);
int totalFenZi=fenshu1.getFenZi()/gongYueShu;
System.out.println(fenshu1.getFenZi());
int totalFenMu=fenshu1.getFenMu()/gongYueShu;
System.out.println(fenshu1.getFenMu());
System.out.println("3/12 + 4/24="+totalFenZi+"/"+totalFenMu);
}
}
最后运行的结果为:
最大公约数为:24
48
24
3/12 + 4/24=2/1
//很明显错误,求解答工程!谢谢
[size=24px][/size]
public class FenShu {
private static int fenMu,fenZi;
public FenShu(int m,int n) {
fenZi=m;
fenMu=n;
}
public void addFenShu(int x,int y ){
fenZi=fenZi*y+fenMu*x;
fenMu=fenMu*y;
}
public int getFenZi(){
return fenZi;
}
public int getFenMu(){
return fenMu;
}
public int getGongYueShu(){
if(Math.abs(fenZi)<Math.abs(fenMu))
{
int t=fenZi;
fenZi=fenMu;
fenMu=t;
}
while(fenZi%fenMu!=0)
{
int yuShu=fenZi%fenMu;
fenZi=fenMu;
fenMu=yuShu;
}
return fenMu;
}
}
//主类
public class AppMain {
public static void main(String[] args) {
FenShu fenshu1=new FenShu(3,12);
fenshu1.addFenShu(4, 24);
int gongYueShu=fenshu1.getGongYueShu();
System.out.println("最大公约数为:"+gongYueShu);
int totalFenZi=fenshu1.getFenZi()/gongYueShu;
System.out.println(fenshu1.getFenZi());
int totalFenMu=fenshu1.getFenMu()/gongYueShu;
System.out.println(fenshu1.getFenMu());
System.out.println("3/12 + 4/24="+totalFenZi+"/"+totalFenMu);
}
}
最后运行的结果为:
最大公约数为:24
48
24
3/12 + 4/24=2/1
//很明显错误,求解答工程!谢谢
[size=24px][/size]
...全文
相关推荐
Java语言程序设计第二版习题解答
- **类型检查**:Java强制执行类型兼容性检查,避免了类型转换引发的错误。- **平台独立性**:Java通过Java虚拟机实现了真正的跨平台运行能力。
《Java语言程序设计》第三版(张思民)习题解答
这个"习题解答"压缩包,应该包含了上述知识点的具体应用示例和解题思路,可以帮助读者逐一攻破书中的习题,加深对Java语言的理解。
50道JAVA基础编程练习题全面解答
在Java中,可以使用二维数组或Vector来表示三角形的每一层。程序通过两层循环实现,外层循环控制行数,内层循环控制每行的元素。在每行中,元素的计算基于上一行的相邻元素相加。
java 解答数独的工具
具体来说,用户可以使用鼠标左键点击选择数字增加,右键点击则减少,这样的设计增强了用户体验,使数独游戏更加直观易玩。在Java中实现数独解答通常涉及到以下几个关键知识点:1.
算法第四版课后习题个人解答项目_包含算法第4版教材中所有章节课后习题的详细解答代码实现算法思路分析时间复杂度与空间复杂度讨论多种解法对比常见错误排查测试用例设计.zip
在代码实现方面,开发者提供了详尽的注释,帮助读者理解代码逻辑和关键步骤,从而更好地掌握算法的具体应用。


Eclipse
