我有一个数组列表设置cars = new ArrayList();哪个工作正常但我需要循环浏览列表中的汽车列表并选择10000以下的任何一个,我将变量预算设置为10000.我还需要返回RegNumber,这是一个字段中的汽车中的字段名单。以下是我所拥有的,它对我不起作用。有什么想法吗?
public String listBudgetCars()
{
if (cars.size() > 0)
{
for (Car car : cars)
{
if(car.getPrice() > budget)
{
listBudgetCars = car;
}
}
return listBudgetCars.getRegNumber();
}
else
{
return "No Cars";
}
}
答案 0 :(得分:4)
假设cars
已初始化并在其他地方填充,您需要以下内容:
public List<Car> budgetCars() {
List<Car> budgetCars = new ArrayList<>();
for (Car car : cars) {
if (car.price < budget) {
budgetsCars.add(car);
}
}
return budgetCars;
}
现在budgetsCars
是您需要的汽车列表。
答案 1 :(得分:3)
如果您使用的是Java 8,则可以应用过滤功能:
List<Cars> budgetCars = cars.stream()
.filter(c -> c.getPrice() < budget)
.collect(Collectors.toList());
答案 2 :(得分:0)
根据预算选择任何一辆车并返回注册号码。假设第一次出现选择。
建议使用BigDecimal作为货币。 [used int]
public static String getRegistrationNumberUnderBudget(List<Car> cars, int budget) {
if(cars != null) {
for(Car car : cars) {
if(car.getPrice() < budget) {
return car.getRegNumber();
}
}
}
return "No cars found";
}