你好,我正在学习 Java,在完成了一些学习递归的任务后,我给自己做了一些练习来学习更多,但现在我正在努力学习一些......
所以主要的问题是,当数组中的元素是对象时,我不知道如何递归地乘以数组中的每个元素(也许最后是否有对象没有区别)。所以我给自己的练习是:检查 1 / 3 是否在给定的数组中。如果是,则将该数组中的所有内容乘以 2 / 1。这是分数:
private int numerator; // Zaehler
private int denominator; // Nenner
public Fraction ( int num, int denom )
{
if ( denom != 0 )
{
if ( denom < 0 )
{
numerator = -num;
denominator = -denom;
}
else
{
numerator = num;
denominator = denom;
}
reduce();
}
else
{
// error: division by zero
throw new IllegalArgumentException();
}
}
public Fraction()
{
numerator = 0;
denominator = 1;
}
public Fraction( int num )
{
numerator = num;
denominator = 1;
}
所以我通过 for 循环完成了它:
public static Fraction[] mulWithFor(Fraction[] arr)
{
for (int i = 0; i<arr.length; i++)
{
arr[i] = arr[i].multiply(new Fraction(2,1));
}
return arr;
}
但这不是我的主要目标,我想递归地做,所以这是我的方法:
public static Fraction[] mulAus(Fraction[] arr, int i)
{
if (i>= 0 && i<arr.length)
{
rekurMul(arr,i);
//return mulAus(rekurMul(arr,i-1));
}
return arr;
}
public static Fraction rekurMul(Fraction[] arr, int i)
{
if (i>= 0 && i<arr.length)
{
return arr[i].multiply(new Fraction(2,1));
return arr[i].multiply(new Fraction(2, 1)); // Does Not Work!!!
}
throw new IndexOutOfBoundsException();
}
也许有人可以帮助我!感谢您的关注。
慕的地6264312
萧十郎
相关分类