java 中 “找不到符号”的错误程序要求:定义一个类Fact表示无符号有理数(分数),成员有分子(num)和分母(den)构造函数2个一组get方法一组set方法方法:-比较两个分数的大小,结果为boolen的

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 07:50:26
java 中 “找不到符号”的错误程序要求:定义一个类Fact表示无符号有理数(分数),成员有分子(num)和分母(den)构造函数2个一组get方法一组set方法方法:-比较两个分数的大小,结果为boolen的

java 中 “找不到符号”的错误程序要求:定义一个类Fact表示无符号有理数(分数),成员有分子(num)和分母(den)构造函数2个一组get方法一组set方法方法:-比较两个分数的大小,结果为boolen的
java 中 “找不到符号”的错误
程序要求:定义一个类Fact表示无符号有理数(分数),成员有分子(num)和分母(den)
构造函数2个
一组get方法
一组set方法
方法:
-比较两个分数的大小,结果为boolen的值
-对分数进行约分(分子分母同时除以最大公约数)
-对两个分数进行通分(先约分)
-两个分数相加,结果为不可约数(先通分,然后再约分)
定义testFact类,
创建Fact对象,并调用各个方法
本人的程序:
import java.util.*;
class Fact
{
private int num;
private int den;
public Fact(int m,int n)
{
this.num=m;
this.den=n;
}
public Fact(){}
public void get(Fact a)//get方法
{
System.out.println("该分数为:"+this.num+"/"+this.den);
}
public Fact set(Fact x)//set方法
{
Scanner a=new Scanner(System.in);
System.out.println("Input num:");
int p=a.nextInt();
System.out.println("Input den:");
int q=a.nextInt();
this.num=p;
this.den=q;
return this;
}
public boolean cmp(Fact m,Fact n)//比较大小
{
set(m);
get(m);
set(n);
get(n);
int x=m.num*n.den;
int y=m.den*n.num;
if(x*y==0)
{
return false;
}
else
{
return true;
}
}
public int gcd(int a,int b)//最大公约数
{
int m,gcd;
m=b;
while(a%b!=0)
{
b=a%b;
a=m;
}
gcd=b;
return gcd;
}
public Fact yf(Fact m)//约分
{
return Fact(m.num/gcd(m.num,m.den),m.den/gcd(m.num,m.den));
}
public void tf(Fact m,Fact n)//通分
{
m=Fact(m.num/gcd(m.num,m.den),m.den/gcd(m.num,m.den));
n=Fact(n.num/gcd(n.num,n.den),n.den/gcd(n.num,n.den));
m=Fact(m.num*n.den,m.den*n.den);
n.fact(m.den*n.num,m.den*n.den);
}
public Fact add(Fact m,Fact n)//相加
{
tf(m,n);
Fact x=new Fact(m.num+n.num,m.den+n.den);
return yf(x);
}
}
public class TestFact
{
public static void main(String[] args)
{
Fact a,b;
set(a);
get(a);
set(b);
get(b);
cmp(a,b);
System.out.println("a约分之后为:"+get(yf(a)));
System.out.println("b约分之后为:"+get(yf(b)));
tf(a,b);
System.out.println("a通分之后:"+get(a));
System.out.println("b通分之后:"+get(b));
add(a,b);
}
}
多次出现找不到符号的错误,请尽量在我的程序上修改

java 中 “找不到符号”的错误程序要求:定义一个类Fact表示无符号有理数(分数),成员有分子(num)和分母(den)构造函数2个一组get方法一组set方法方法:-比较两个分数的大小,结果为boolen的
lz需要再多多努力,以下代码仅供参考:
import java.util.Scanner;
class Fact {
private int num;
private int den;
public Fact() {
}
public Fact(int num,int den) {
this.num = num;
this.den = den;
}
public int getDen() {
return den;
}
public void setDen(int den) {
this.den = den;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public static Fact input() {
Scanner jin = new Scanner(System.in);
System.out.println("输入分子:");
int a = jin.nextInt();
System.out.println("输入分母:");
int b = jin.nextInt();
Fact fact = new Fact(a,b);
return fact;
}
public static boolean cmp(Fact a,Fact b) {//分数a>分数b,返回true,否则返回false
if (a.getNum() * b.getDen() > b.getNum() * a.getDen()) {
return true;
} else {
return false;
}
}
public static int maxDivisor(int a,int b) {//最大公约数
int temp = b;
while (a % b != 0) {
b = a % b;
a = temp;
}
return b;
}
public static void divise(Fact a) {//约分
int temp= Fact.maxDivisor(a.getNum(),a.getDen());
a.setNum(a.getNum() / temp);
a.setDen(a.getDen() / temp);
}
public static void comm(Fact a,Fact b) {//通分
Fact.divise(a);
Fact.divise(b);
int comDen = a.getDen() * b.getDen();
int aNum = a.getNum() * b.getDen();
int bNum = b.getNum() * a.getDen();
a.setNum(aNum);
a.setDen(comDen);
b.setNum(bNum);
b.setDen(comDen);
}
public static Fact plus(Fact a,Fact b) {//两个分数相加
Fact newFact = new Fact();
Fact.comm(a,b);
newFact.setNum(a.getNum()+b.getNum());
newFact.setDen(a.getDen());
Fact.divise(newFact);
return newFact;
}
public static void showFact(Fact fact)
{
System.out.println("分数为:"+fact.getNum()+"/"+fact.getDen());
}
}
public class TestFact {
public static void main(String[] args) {
System.out.println("输入一个分数:");
Fact fact1 =Fact.input();
Fact.showFact(fact1);
System.out.println("约分后:");
Fact.divise(fact1);
Fact.showFact(fact1);
System.out.println("再输入一个分数:");
Fact fact2=Fact.input();
Fact.showFact(fact2);
System.out.println("约分后:");
Fact.divise(fact2);
Fact.showFact(fact2);
System.out.println("比较两个分数:");
if (Fact.cmp(fact1,fact2)) {
System.out.println("第一个分数大于第二个分数!");
} else {
System.out.println("第一个分数不大于第二个分数!");
}
System.out.println("通分后,两分数分别为:");
Fact.comm(fact1,fact2);
Fact.showFact(fact1);
Fact.showFact(fact2);
System.out.println("两分数相加为:");
Fact a=Fact.plus(fact1,fact2);
Fact.showFact(a);
}
}

java 中 “找不到符号”的错误程序要求:定义一个类Fact表示无符号有理数(分数),成员有分子(num)和分母(den)构造函数2个一组get方法一组set方法方法:-比较两个分数的大小,结果为boolen的 下列关于Java Application程序在结构上特点的描述中,错误的是( ).下列关于Java Application程序在结构上特点的描述中,错误的是( ).AJava程序是由一个或多个类组成的 B组成Java程序的若干个 1:下列关于Java语言特性的描述中,错误的是().A.支持多线程操作 B.Java程序与平台无关C.Java程序可以直接访问Internet上的对象 D.支持单继承和多继承2:下列关于Java语言的数组描述中,错误的 java中怎么求一个数的平方根的程序 什么是java程序中基本的结构单位 java中写Applet小程序的问题,使用Eclipse集成开发工具.程序没有错误,可以运行,但是在public class 后面的类名有下划线,显示一个警告,“The serializable class Myplayer does not declare a static final serialVersionUI java程序中怎么调用平方根函数 java 中 this.pack() 感激不尽...l.我是在编写五子棋程序中碰到的,新手上路. 三个数从小到大排序的JAVA程序 java程序中如何产生随机数(一个按钮产生一个1~100的随机数) 求程序~ java中请给出例子程序:找出两个数的最大公约数和最小公倍数 java程序中运算式y+=z--/++x是怎么运算的? throws java.io.IOException是什么意思,在程序中具体的用途是什么 JAVA程序中出现“Javadoc Conflicts”是什么意思?我用的工具是 JBuilder X10 在Java中我运行的程序出现 can not find symbol,这是什么情况! 在java中,下面选项中关于java.lang.Object 类的说法错误的是( )在java中,下面选项中关于java.lang.Object 类的说法错误的是( )A、在java中,所有的JAVA类都直接继承了Object 类B、假定在定义一个类时,没有 编写java程序由键盘输入5个整数,将其中的正整数相加,输出最终结果.要完整的java程序, java写一个程序统计文件中一篇文章每个词(要中文和英语的都可以的)的个数