1 // This program reads in an item's cost and some coupons' information,
2 // and then determines which is the best coupon to use and the amount
3 // to pay.
4
5 import java.util.*;
6
7
8 public class Redeem {
9
10 public static void main(String[] args) {
11 Scanner sc = new Scanner(System.in);
12 double price = sc.nextDouble();
13 int size = sc.nextInt();
14 int i=0;
15 double amtPay = price;
16 double negativeAmt= -99999.99;
17
18 ArrayList<Coupon>coupons = new ArrayList<Coupon>(size);
19
20 for(i=0; i<size; i++) {
21 Coupon newCoupon = new Coupon(sc.next(), sc.nextDouble());
22 coupons.add(i, newCoupon);
23 sc.nextLine();
24 }
25
26 for(i=0; i<size; i++) {
27 double temp = (coupons.get(i)).payment(price);
28 if (temp < 0) {
29 if (temp > negativeAmt) {
30 negativeAmt = temp;
31 Coupon bestCoupon = new Coupon(coupons.get(i));
32 }
33 amtPay = 0.00;
34 }
35 else {
36 if (amtPay != 0) {
37 if (temp < amtPay) {
38 amtPay = temp;
39 }
40 Coupon bestCoupon = new Coupon(coupons.get(i));
41 }
42 }
43 }
44 System.out.println("Best choice: " + bestCoupon);
45 System.out.printf("You need to pay $%.2f\n", amtPay);
46 }
47 }
我不斷收到錯誤無法找到對象符號錯誤和定義
Redeem.java:44: error: cannot find symbol
System.out.println("Best choice: " + bestCoupon);
^
symbol: variable bestCoupon
location: class Redeem
1 error
爲什麼它沒有看出它是優惠券類的對象?我編我的優惠券類在此之前(含一個toString方法,因此println的應檢測的字符串),仍然有這個問題:(
優惠券的範圍'bestCoupon'是內部接近它宣佈的區塊。 – makata