带有实例方法的Java构造函数
在这里,我有一些代码,应该为我的分数类创建一个构造函数和一些getter。我想知道,是否有可能在一个getter中同时获得这两个参数?因为我应该只使用一种方法来获得两种结果 例如“1/2和3/5”带有实例方法的Java构造函数,java,oop,Java,Oop,在这里,我有一些代码,应该为我的分数类创建一个构造函数和一些getter。我想知道,是否有可能在一个getter中同时获得这两个参数?因为我应该只使用一种方法来获得两种结果 例如“1/2和3/5” import java.lang.reflect.*; import java.lang.annotation.*; import java.util.*; import java.time.*; // Please do not change or remove this line. class
import java.lang.reflect.*; import java.lang.annotation.*; import java.util.*; import java.time.*; // Please do not change or remove this line.
class Fraction {
private Integer nominator;
private Integer denominator;
public Fraction(Integer nominator, Integer denominator){
this.nominator = nominator;
this.denominator = denominator;
}
public Integer getNominator() {
return nominator;
}
public Integer getDenominator() {
return denominator;
}
}
class Main {
public static Fraction createFraction(Integer nominator, Integer denominator) {
return new Fraction(nominator, denominator);
}
public static void main(String[] arguments) {
final Fraction HALF = createFraction(1, 2);
final Fraction THREE_FIFTH = createFraction(3, 5);
System.out.println((HALF));
System.out.println((THREE_FIFTH));
}
public static String toString(Fraction fraction) {
return fraction.getDenominator() + "/" + fraction.getNominator();
}
}
创建一个小类并返回它或使用数组 举个例子
class Fraction1{
private int nominator;
private int denominator;
}
public Fraction1 getDenominator() {
Fraction1 fr=new Fraction1();
fr.nominator=this.nominator;
fr.denominator=this.denominator;
return fr;
}
创建一个小类并返回它或使用数组 举个例子
class Fraction1{
private int nominator;
private int denominator;
}
public Fraction1 getDenominator() {
Fraction1 fr=new Fraction1();
fr.nominator=this.nominator;
fr.denominator=this.denominator;
return fr;
}
首先,很好,您没有setter,并且您的类在功能上是不可变的——这是一个好的开始 我会有点抗拒提名人和分母。我敢肯定,你最终将不得不这样做,但要尽量避免 例如,如果你将两个分数相乘,你只需要一个分数。multiply(Fraction)方法返回一个新的分数,不需要getter。您可以在Fraction类中对命名符/分母执行任何操作 至于您是否真的需要获取值(使用一种方法):
- 返回一个浮点数(在内部进行除法)
- 返回一个字符串(与toString方法类似,但在fraction类中)
- 对于15/2的值,字符串也可能看起来像“7r1”
- 你可以返回一个数组,但我不推荐,神秘的返回值并不可怕
- 我也不推荐使用子对象,它必须有两个getter,这样您就不会真正解决任何问题,只需将它踢下线
- 返回一个浮点数(在内部进行除法)
- 返回一个字符串(与toString方法类似,但在fraction类中)
- 对于15/2的值,字符串也可能看起来像“7r1”
- 你可以返回一个数组,但我不推荐,神秘的返回值并不可怕
- 我也不推荐使用子对象,它必须有两个getter,这样您就不会真正解决任何问题,只需将它踢下线
toString()
从Main
移动到Fraction
,然后您就拥有了所需的内容。编辑:而且,这个术语是分子,而不是命名器。你的变量名nominator
毫无意义。变量名应该代表变量的用途,但是命名器
不是分数形式。您可能想要分子
。将toString()
从Main
移动到分数
,然后您就拥有了所需的内容。编辑:而且,这个术语是分子,而不是命名器。你的变量名nominator
毫无意义。变量名应该代表变量的用途,但是命名器
不是分数形式。您可能想要分子
。