Ich versuche, meine Methoden innerhalb des Haupt zu nennen, aber nach meiner Dollar und Cent Eintritt, die Werte ändern sich nicht, wenn ich sie druckenWerte ändern sich nicht, wenn ich sie drucken
import java.text.DecimalFormat;
import java.util.Scanner;
public class ChangeMachine {
public static void main(String[] args) {
System.out.println("Change is good");
int dollars = 0;
int cents = 0;
int toonie = dollars/2;
int loonie = dollars%2;
int quarter = cents/25;
int dime = (cents%25)/10;
int nickel = ((cents%25)%10)/5;
ChangeMachine.getAmountFromUser(dollars, cents);
ChangeMachine.calculateCoins(dollars, cents);
ChangeMachine.displayInvoice(dollars, cents, toonie, loonie, quarter, dime, nickel);
}
Methode zur Eingabe der Dollar und Cent Hier bin ich in der Lage, die Menge eingeben, aber es wird nicht angezeigt, wenn ich versuche, es
Münzenpublic static void getAmountFromUser(int dollars, int cents) {
Scanner input = new Scanner(System.in);
System.out.print("How many dollars? ");
dollars = input.nextInt();
System.out.print("How many cents? ");
cents = input.nextInt();
System.out.println();
input.close();
}
Methode zum anzeigen
public static void calculateCoins (int dollars, int cents){
DecimalFormat df = new DecimalFormat("#0.00");
double amount = dollars + cents/100.0;
System.out.println("$"+df.format(amount)+" requires:");
//-----Bonus-----
dollars=dollars+(cents+2)/100;
cents=(cents+2)%100;
//---------------
}
berechnen
Methode Münzen anzuzeigen benötigt
public static void displayInvoice (int dollars, int cents, int toonie, int loonie, int quarter, int dime, int nickel){
System.out.println(toonie+" Toonies");
System.out.println(loonie+" Loonies");
System.out.println(quarter+" Quarters");
System.out.println(dime+" Dimes");
System.out.println(nickel+" Nickels");
}
}
Wie gebe ich mehrere Werte aus einer Methode zurück? – obonmarc
Sie könnten eine einfache Klasse "Input" erstellen, die die Dollars und Cents enthält, die vom Benutzer eingegeben wurden, und eine Instanz dieser Klasse zurückgeben. –
@obonmarc Oder Sie könnten einfach ein Array von int zurückgeben. Aber eine Klasse wird empfohlen. Dann könnten Sie diese Klasse als ein einziges Parameterargument für die anderen Methoden verwenden (vorausgesetzt, Sie können ihre Werte ändern oder ändern). –