while (true){
int secondPrice = 0;
String bid = scanner.nextLine();;
if (bid.isEmpty()){
System.out.println("The item " + auction.get(i).getName() + " was sold for " + secondPrice);
break;
}
if (Integer.valueOf(bid) <= auction.get(i).getPrice()){
System.out.println("Cannot bid lower than or equal to the amount given.");
System.out.println("Any bidders?");
}
else {
secondPrice += Integer.valueOf(bid) + 1;
auction.get(i).setPrice(Integer.valueOf(bid));
System.out.println("Price is now at " + Integer.valueOf(bid) + ". Any other bidders?");
}
}
当我运行这个,我把一些数字放在扫描仪上提高价格,当打印出secondprice时,它总是0,从顶部开始是一样的。
1条答案
按热度按时间qhhrdooz1#
这是因为每次都要重新初始化secondprice,请尝试在while循环之前声明它。一个简单的方法来编程你提议的第二个出价系统,你将有一个变量存储每个出价,然后设置最高出价等于第二个最高出价+.01之前,付款计算