0

私は大学向けの簡単な Java プログラムを作成しようとしていますが、私はこの Java に関する完全な初心者です。コンパイルすると、printreciept メソッド内で「エラー - シンボルが見つかりませんでした」というエラーが発生し続けます。メイン内の変数にアクセスできないようなものだと私は知っています。誰でも助けてもらえますか?修正すると多くのエラーが発生する可能性があることはわかっていますが、ここから始めたいと思います! PSすべてのコードで申し訳ありません:/

import java.util.Scanner;

public class Order {

public static void main (String[] args) {

    String clubcard;
    double clubcard_discount;
    double special_discount;
    double balance; 
    double final_balance; 
    int apples;
    int oranges;
    int apples_cost;
    int oranges_cost;

    final Scanner scanner = new Scanner( System.in);
    System.out.println("How Many Bags of Apples?");
    apples = scanner.nextInt( );
    System.out.println("How many bags of Oranges?");
    oranges = scanner.nextInt( );
    System.out.println("Do you have a clubcard? Yes/No");
    clubcard = scanner.nextLine();

    if(clubcard == "Yes") {
        clubcard_discount = clubcard_discount - 1.0;
        final_balance = final_balance - (balance / 100 * 10);
    }

    else if(clubcard == "No") {
        special_discount = 0.0;
    }   

    if(apples == 3) {
        special_discount = -1.0;
        balance = balance - 1.0;
    }

}

//Calculating the cost of apples and oranges
public void calculate_apples (final double apples_cost ) {
    apples_cost = apples * 1.0;
}

public void calculate_oranges (final double oranges_cost ) {
    oranges_cost = oranges * 1.25;
}

//Printing the receipt
public static void printReceipt() {
    System.out.println("Bags of apples: " + apples);
    System.out.println("Bags of oranges: " + oranges);
    System.out.println("Clubcard: " + clubcard);
    System.out.println( );
    System.out.println("Price for apples: " + apples_cost);
    System.out.println("Special discount: " + special_discount);
    System.out.println("Price of oranges: " + oranges_cost);
    System.out.println("Total: " + balance);
    System.out.println("Clubcard discount: " + clubcard_discount);
    System.out.println( );
    System.out.println("Final price: " + final_balance);
    System.out.println( );
    System.out.println("Thanks for doing business with CS2500.");

  }

 }
4

5 に答える 5

3

メソッド内ですべての変数をローカル変数として宣言したmainため、外部のスコープにはありませんmain。他の方法でそれらにアクセスできるようにするには、次のいずれかを実行できます。

  • それらをパラメーターとしてメソッドに渡します
  • staticメソッドの外ではなく、クラス内でクラス変数として宣言します。
于 2013-10-21T16:23:58.137 に答える