Sammeln Sie Programmiererfahrung mit Java
Anfänger, die die Grundlagen von Java gelernt haben
Sie können anhand des Flussdiagramms und der Funktionsdetails programmieren.
・ Produktliste initialisieren Die folgenden drei Produkte sind behoben. Cola 100 Yen Orangensaft 120 Yen Wasser 80 Yen
·Zahlung Es ist möglich, in Einheiten von 1 Yen einzuzahlen. Sofortige Einzahlung, bis der für den Kauf verfügbare Mindestbetrag eingezahlt ist. (In diesem Fall 80 Yen oder mehr für Wasser)
· Produktauswahl Produkte innerhalb des Einzahlungsbetrags anzeigen. Wählen Sie nach Produktname.
· Verkauf Bieten Sie das ausgewählte Produkt an.
・ Abrechnung Subtrahieren Sie den Kaufpreis vom Einzahlungsbetrag. Geben Sie die Änderung zurück.
package vm;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//Produktinitialisierung
Map<String, Integer> items = new HashMap<String, Integer>();
items.put("Cola", 100);
items.put("Orangensaft", 120);
items.put("Wasser", 80);
//Zusätzliche Kaution für den Mindestkaufbetrag
int deposit = 0;
int minSaleAmount = -1;
Scanner scanner = new Scanner(System.in);
do {
//Einzahlungsabwicklung
System.out.println("Bitte geben Sie das Geld ein.");
deposit = deposit + scanner.nextInt();
//Betragsprüfung (Mindestkaufbetrag)
int loopCount = 0;
for (String itemKey: items.keySet()) {
if(loopCount == 0 || minSaleAmount > items.get(itemKey)) {
minSaleAmount = items.get(itemKey);
}
loopCount++;
}
} while(deposit < minSaleAmount);
//Produktauswahl
System.out.println("Bitte wählen Sie ein Produkt aus.");
Map<String, Integer> availablePurchases = new HashMap<String, Integer>();
for (String itemKey: items.keySet()) {
if(deposit >= items.get(itemKey)) {
System.out.println(itemKey + ":" + items.get(itemKey) + "Kreis");
availablePurchases.put(itemKey, items.get(itemKey));
}
}
//Verkauf
String itemName;
while(true) {
itemName = scanner.next();
if (availablePurchases.containsKey(itemName)){
break;
}
System.out.println("Der Produktname ist falsch angegeben. Bitte geben Sie den Produktnamen erneut an.");
}
scanner.close();
System.out.println(itemName + "ist!");
//Abrechnungsfunktion
deposit = deposit - availablePurchases.get(itemName).intValue();
System.out.println("Veränderung ist" + deposit + "Es ist ein Kreis.");
}
}
Ich habe eine klassifizierte Version erstellt. https://qiita.com/TakumiKondo/items/9f222f44c973bb2eaa06
Recommended Posts