我正在尝试在Java中添加,乘以和除以分数。我得到的输出是:FRACTIONS @ 3d4eac69。有什么想法吗?
public class FRACTIONS {
private int numer, denom;
public FRACTIONS (){
numer=1;
denom=1;
}
public FRACTIONS (int n, int d){
numer=n;
denom=d;
}
public int getNumerator(){
return numer;
}
public int getDenominator (){
return denom;
}
public FRACTIONS add(FRACTIONS other){
int n = numer * other.denom + other.numer * denom;
int d = denom * other.denom;
return new FRACTIONS (n, d);
}
public FRACTIONS sub(FRACTIONS other){
int n = numer * other.denom + other.numer * denom;
int d = denom * other.denom;
return new FRACTIONS (n, d);
}
public FRACTIONS mult(FRACTIONS other){
int n = numer * other.numer;
int d = denom * other.denom;
return new FRACTIONS (n, d);
}
public FRACTIONS div(FRACTIONS other){
int n = numer * other.denom;
int d = denom * other.numer;
return new FRACTIONS (n, d);
}
public String toString(){
String str;
str= n + " / " + d;
return str;
}
}
测试人员计划:
import java.util.Scanner;
public class FRACTIONS_TESTER {
public FRACTIONS_TESTER() {
}
public static void main(String[] args) {
Scanner reader = new Scanner (System.in);
Scanner scan = new Scanner (System.in);
FRACTIONS numer, denom;
numer= new FRACTIONS();
denom = new FRACTIONS ();
System.out.print ("Enter the numerator for fraction 1: ");
int n1 = reader.nextInt();
System.out.print ("Enter the denominator for fraction 1: ");
int d1 = reader.nextInt();
System.out.print ("Enter the numerator for fraction 2: ");
int n2 = reader.nextInt();
System.out.print ("Enter the denominator for fraction 2: ");
int d2 = reader.nextInt();
int n = 5;
int d = 6;
FRACTIONS f1=new FRACTIONS (n1, d1);
FRACTIONS f2=new FRACTIONS (n2, d2);
FRACTIONS f3=new FRACTIONS (n,d);
int opt;
System.out.println ("Select the corresponding number for the desired
operation: ");
System.out.println (" 1. Addition \n 2. Subtraction \n 3.
Multiply \n 4. Divison");
opt=scan.nextInt();
if (opt==1){
f3=f1.add (f2);
}
if (opt==2){
f3=f1.sub (f2);
}
if (opt==3) {
f3=f1.mult (f2);
}
if (opt==4){
f3=f1.div (f2);
}
}
System.out.println (f3);
}
提前致谢。我只希望输出是一个字符串,以“/”
的形式返回答案 0 :(得分:0)
n
和d
在toString
的范围内未定义。也许你的意思是
@Override
public String toString() {
return numer + " / " + denom;
}