簡體   English   中英

用戶輸入后如何存儲所選值? 目標是在用戶完成后打印出 array2 作為包含所有選擇的治療的收據

[英]How do i store the chosen values after user input? The goal is to print out array2 as a receipt with all the chosen treatments when the user is done

String[][] array = {{"Checkup", "60"},
                    {"Repairing tooth", "150"},  
                    {"Cleaning", "30"}};  // Menu of treatments

String[] array2 = new String [10];  // New array that saves up to 10 elements(treatments)

int cost = 0;  
int treatment = 0;

Scanner input = new Scanner(System.in);

System.out.println("Control" + " " + "1");
System.out.println("Repair tooth:" + " " + "2");
System.out.println("Cleaning:" + " " + "3");

int n = array.length;
for (int i=0; i<n; i++) {
    for (int j=0; i<n ; j++) {
        System.out.println();
        treatment = input.nextInt();
        if (treatment==1) {
            cost += Integer.parseInt(array[i][1]);
            System.out.print("Total cost so far: " + cost);
        }
        if (treatment==2) {
            cost += Integer.parseInt(array[i+1][1]);
            System.out.print("Total cost so far: " + cost);
        }
        if (treatment==3) {
            cost += Integer.parseInt(array[i+2][1]);
            System.out.print("Total cost so far: " + cost);
        }
    }
}

我如何從這里繼續前進? 我想我必須將輸入存儲在新數組中並在 10 次處理后退出循環,或者向用戶添加一個選項以在完成后打印收據。

收據需要打印所有選擇的治療以及每個單獨治療的費用。 我還需要添加一個變量來為所有選擇的治療添加總量。

這就是您要執行的操作,因為處理是固定的,因此您可以將它們索引為 0、1、2。您可以做的一件事是制作一個哈希圖,您可以在其中存儲處理名稱及其成本( String,int) 每次用戶想要輸入時。 看下面的代碼

import java.util.*;
import java.util.HashMap;

public class treatment {

public static void main(String []args) {
    
    String[][] array = {{"Checkup", "60"},
                {"Repairing tooth", "150"},  
                {"Cleaning", "30"}};  // Menu of treatments

     // New array that saves up to 10 elements(treatments)
    HashMap<String, Integer> treat = new HashMap<String, Integer>();


    int cost = 0;  
    int treatment = 0;

    Scanner input = new Scanner(System.in);



    int n = array.length;
    int i =0;
    char c = '\0';

    do {
        System.out.println("\n\nControl" + " " + "1");
        System.out.println("Repair tooth:" + " " + "2");
        System.out.println("Cleaning:" + " " + "3");
        System.out.println("Exit: " + "-1");
        System.out.println();
        System.out.print("Enter treatment value (1, 2, 3): ");
        treatment = input.nextInt();

        if (treatment==1){ 
            i = 0;
            cost += Integer.parseInt(array[0][1]);
            System.out.println("\nTotal cost so far: " + cost);

        }
        else if (treatment==2) {
            i = 1;
            cost += Integer.parseInt(array[1][1]);
            System.out.println("\nTotal cost so far: " + cost);
        }
        else if (treatment==3) {
            i = 2;
            cost += Integer.parseInt(array[2][1]);
            System.out.println("\nTotal cost so far: " + cost);
        }
        treat.put(array[i][0], cost);

    } while (treatment != -1);

    System.out.println("Total COst is : " + cost);
    System.out.println("The treatements you opt for are:\n");
    System.out.println(treat);
    System.out.println("\n");
    
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM