現在、大学でjava言語の勉強を始めたばかりの初学者です。
課題でレジシステムを模したプログラムを書いていて詰まってしまいました。
import
1 public class CasherSystem{ 2 public static void main(String[] args){ 3 Scanner input=new Scanner(System.in); 4 5 System.out.println("================================="); 6 System.out.println("| WELCOME TO CIMP CASHER SYSTEM |"); 7 System.out.print("================================="); 8 System.out.println(); 9 System.out.println("---------------------------------"); 10 System.out.println("| MAIN MENU |"); 11 System.out.println("---------------------------------"); 12 13 System.out.println("Options"); 14 System.out.println("1 - Checkout"); 15 System.out.println("2 - Transaction History"); 16 System.out.println("3 - Exit "); 17 System.out.println("Please select:"); 18 19 int option = input.nextInt(); 20 if(option == 1){ 21 System.out.println("================================="); 22 System.out.println("| WELCOME TO CIMP CASHER SYSTEM |"); 23 System.out.print("================================="); 24 System.out.println(); 25 System.out.println("---------------------------------"); 26 System.out.println("| MAIN MENU |"); 27 System.out.println("---------------------------------"); 28 29 System.out.println("Options"); 30 System.out.println("1 - Checkout"); 31 System.out.println("2 - Transaction History"); 32 System.out.println("3 - Exit "); 33 System.out.println("Please select:1"); 34 35 System.out.println("---------------------------------"); 36 System.out.println("| PAYMENT SECTION |"); 37 System.out.println("---------------------------------"); 38 System.out.println("Enter customer's bill"); 39 40 double bill = input.nextDouble(); 41 double tax = bill*0.12; 42 double total = bill+tax; 43 44 double[] history = bill,tax,total; 45 System.out.println("Enter custpmer's bill:"+bill); 46 System.out.printf("Price: $ %10.2f\n",bill); 47 System.out.printf("Tax : $ %10.2f\n",tax); 48 System.out.println("-------------------"); 49 System.out.printf("Total: $ %10.2f\n",total); 50 51 System.out.println("Enter customer's payment:"); 52 double pay = input.nextDouble(); 53 double change = pay - total; 54 while(change<0){ 55 System.out.printf("custermar's change:$%10.2f\n",change); 56 System.out.println("Warning:The customer's payment is not enough. Enter customer's payment again."); 57 pay = input.nextDouble(); 58 change = pay - total; 59 } 60 if(change>=0){ 61 System.out.printf("custermar's change:$%10.2f\n",change); 62 63 } 64 System.out.println("================================="); 65 System.out.println("| WELCOME TO CIMP CASHER SYSTEM |"); 66 System.out.print("================================="); 67 System.out.println(); 68 System.out.println("---------------------------------"); 69 System.out.println("| MAIN MENU |"); 70 System.out.println("---------------------------------"); 71 72 System.out.println("Options"); 73 System.out.println("1 - Checkout"); 74 System.out.println("2 - Transaction History"); 75 System.out.println("3 - Exit "); 76 System.out.println("Please select:"); 77 option = input.nextInt(); 78 } 79 80 if(option==2){ 81 System.out.println("================================="); 82 System.out.println("| WELCOME TO CIMP CASHER SYSTEM |"); 83 System.out.print("================================="); 84 System.out.println(); 85 System.out.println("---------------------------------"); 86 System.out.println("| MAIN MENU |"); 87 System.out.println("---------------------------------"); 88 89 System.out.println("Options"); 90 System.out.println("1 - Checkout"); 91 System.out.println("2 - Transaction History"); 92 System.out.println("3 - Exit "); 93 System.out.println("Please select:2"); 94 System.out.println("---------------------------------"); 95 System.out.println("| TRANSACTION HISTORY |"); 96 System.out.println("---------------------------------"); 97 System.out.println(); 98 System.out.println(" History Sales Tax Total"); 99 System.out.println("------------------------------------------------------"); 100 101コード
課題の内容としては、
1、メインメニュー、オプション3つの表示
2、オプションの選択を聞く。
3、1を選んだら商品の入力、お釣りの計算などの処理(ここはできました。)
4、2を選んだら、今まで入力された商品の金額等の最新の5つの履歴の表示。(ここで詰まってます。)
5、3を選んだら、今まで入力されたすべての金額の合計の表示。
終了です。
上のコードの下に履歴を表示させたいのですが、最新の5つの履歴の表示の仕方が、さっぱりわからず困っています。おそらく配列?を使って入力した値を集めるのかと思ったのですが、うまくいきませんでした。
非常に初歩的な質問で恐縮なのですが、回答いただけると助かります。
追記
すいません、、。設計の見直しというのも、どう直していいかわからないのですが課題に添付されていた設計?の流れの画像があったので貼ります。
回答2件
あなたの回答
tips
プレビュー