0
我正在尝试在Java中添加,乘除分数。我得到的输出是:FRACTIONS @ 3d4eac69。有任何想法吗?在Java中添加,减去,乘除法和除法分数
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);
}
在此先感谢。我只想输出为字符串,以“/”形式返回
你是否在添加toString方法后重新编译你的FRACTIONS类? – Kenney
您需要下面答案中的toString方法,但我在评论说您应该遵循Java命名约定和CamelCase类名称,而不是ALL_CAPS –
此代码不能编译。请不要让人们检查与您实际使用的代码不同的代码。 –