java如何将多个分数附加到一个列表中并获取其产品?
作为Java新手,我用方法multiply
构造了以下简单类Fraction
:
public class Fraction{
private int numerator, denominator;
public Fraction(){}
public Fraction(int numerator) {
this.numerator = numerator;
denominator = 1;
}
public Fraction(int numerator, int denominator) {
this.numerator = numerator;
this.denominator = denominator;
}
public void multiply(Fraction m) {
numerator = m.numerator * numerator;
denominator = m.denominator * denominator;
}
public void printFraction(){
System.out.println(numerator + "/" + denominator);
}
}
第二个类在某些值上运行有问题的方法: 我想给分子和分母分配随机值,范围在1-5之间,并在相乘之前将相应的分数放入列表中。我只是努力实现我把他们列入名单的部分,然后拿走他们的产品。不确定分数是如何实现的:
import java.util.Random;
import java.util.* ;
public class Application {
public static void main(String[] args) {
Fraction first = new Fraction(10, 2);
Fraction second = new Fraction(4, 2);
first.multiply(second);
first.printFraction();
Random random = new Random();
List<Integer> listOfIntegers = new ArrayList<>();
for (int i = 1; i <= 5; i++) {
int num = 1 + random.nextInt(5);
int denum = 1 + random.nextInt(5);
Fraction first = new Fraction(num, denum);
int num2 = 1 + random.nextInt(5);
int denum2 = 1 + random.nextInt(5);
Fraction second = new Fraction(num2, denum2);
listOfIntegers.add(first,second);
}
listOfIntegers.stream().reduce(1, (first, second) -> first * second)
}
}
# 1 楼答案
你首先要创建一个分数列表,然后像这样将它们添加到列表中
现在你已经在列表中创建了分数,你可以再次循环列表,并将列表中的每个分数与随机创建的分数相乘,如下所示