前提・実現したいこと
現在、Javaを勉強中の初心者です。
Javaでメソッドとオブジェクト指向を使った、ハンバーガーの種類と個数をユーザーにキーボード入力させ、その金額を計算するファイルを作っております。
同じpackageに2つのClassを作り、片方はDriver、もう片方はOrderという名前のClassです。
calculateBurger()メソッドでgetInputs()で入力した数字を使って計算したいのですがどのように修正したらよろしいでしょうか?
発生している問題・エラーメッセージ
burgerType cannot be resolved to a variable burgerCount cannot be resolved to a variable
該当のソースコード
public class Driver { public static void main(String[] args) { Order order1 = new Order(); order1.displayMenu(); order1.getInputs(); order1.calculateBurger(); order1.printBill(); } }
import java.util.Scanner; public class Order { //ハンバーガーの配列 String burger[] = {"ハンバーガー", "チーズバーガー", "ベーコンレタスバーガー", "オニオンバーガー", "てりやきバーガー"}; //ハンバーガーの値段の配列 int price[] = {100, 150, 150, 150, 150}; //ハンバーガーの値段*個数 double total; //消費税 double tax; //合計金額 double finalTotal; //メニュー public void displayMenu() { Scanner input = new Scanner(System.in); System.out.println("5つのハンバーガーです!:\n"); for(int i = 0; i < 5; i++) System.out.println((i+1) + ". " + burger[i] + "\t" + price[i] + "円"); System.out.println("6. Exit"); } //インプット public void getInputs() { Scanner input = new Scanner(System.in); System.out.print("\nどのバーガーがいいですか?(1-5の数字を入れてください): "); int burgerType = input.nextInt(); //0以下もしくは6以上の数字だった場合終了 if(burgerType <=0 ||burgerType >= 6) { System.out.println("1-5の数字を入れてください"); System.exit(0); } System.out.print("\n何個入りますか?: "); int burgerCount = input.nextInt(); } //計算 public void calculateBurger() { total = price[burgerType-1] * burgerCount; tax = total * 10.00 / 100; finalTotal = total + tax; } //アウトプット public void printBill() { System.out.println("値段 "+ total + " 消費税 " + tax + " 合計 " + finalTotal); } }
試したこと
calculateBurger()メソッドで配列を使って金額を出そうとしましたがエラーが起きました。
ローカル変数を仮に入れてもそこで入れた値でしか計算されませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
![guest](/img/icon/icnUserSample.jpg)
回答2件
あなたの回答
tips
プレビュー