Public 클래스 분획 배열을 정렬 할 수있는 방법 {I 형의 분획 (INT의 N, INT의 d)
private int num, den;
static double ratio;
public Fraction() {
super();
num = 1;
den = 1;
// TODO Auto-generated constructor stub
}
public Fraction(int num, int den) {
super();
this.num = num;
this.den = den;
}
public int getNum() {
return num;
}
public int getDen() {
return den;
}
public double getRatio() {
return ratio;
}
public void setNum(int num) {
this.num = num;
}
public void setDen(int den) {
this.den = den;
}
public void setRatio(double ratio) {
Fraction.ratio = ratio;
}
public Fraction add(Fraction second)
{
Fraction third = new Fraction();
third.num = this.num * second.den + this.den * second.num;
third.den = this.den * second.den;
return third;
}
public double findratio(double n, double d)
{
ratio = 0;
ratio = n/d;
return ratio;
}
public int findGCD (int n, int d)
{
int gcd = 0, temp = 0;
while (n != 0 && d != 0)
{
temp = n;
n = d % n;
d = temp;
}
gcd = n + d;
return gcd;
}
public void reduce()
{
int gcd = findGCD(num, den);
{
this.num /= gcd;
this.den /= gcd;
}
}
@Override
public String toString()
{
return num + "/" + den;
}
}
수입있는 java.util. *;
공용 클래스 testFraction {
private static Fraction frac;
Fraction[] fracs = new Fraction[8];
public static void fillArray()
{
Scanner z = new Scanner(System.in);
Scanner k = new Scanner(System.in);
Fraction[] fracs = new Fraction[8];
for(int i = 0; i < fracs.length - 1; i++)
{
Fraction addt = new Fraction();
Fraction f = new Fraction();
fracs[i] = f;
testFraction.frac = f;
f.setNum(z.nextInt());
f.setDen(k.nextInt());
addt = f.add(fracs[i]);
}
System.out.println(frac);
Arrays.sort(fracs);
System.out.println(Arrays.toString(fracs));
z.close();
k.close();
}
public static void main(String[] args) {
fillArray();
}
}
나는 GCD, 또한, 분수의 감소를 정의하는 분수 클래스를 가지고,하지만 난의 배열 이러한 방법을 사용하려고 갇히지입니다 분수. 또한,이 배열을 가장 작은 것부터 가장 큰 것까지 정렬하고, 가장 작은 것을 제거하고 가장 큰 것을 제거한 다음, 나머지를 함께 더하고 줄입니다.
누구나 나를 올바른 길로 인도 할 수있는 정보가 있습니까?
부동 소수점 (즉, 부동 소수점) 표현을 사용하여 비교합니다. –
모든 분모가 양수라고 가정하면 '광고'와 'bc'를 비교하여 'a/b'와 'c/d'를 비교할 수 있습니다 (양면에 'bd'를 곱하면됩니다). 비교자를 작성하여 정렬을 위해 사용하는 방법을 찾으려면 http://stackoverflow.com/documentation/java/3137/comparable-and-comparator/10693/sorting-a-list-using-comparablet-or-a를 참조하십시오. -comparatort # t = 201612180346068842778. – ajb