Ich habe Java für den letzten Monat gelernt, und ich habe mehr als das, was meine Klasse gelernt hat, verzweigt und beschlossen, ein GUI-Programm zu erstellen, das verschiedene Umwandlungsrechner hat. Es gibt jedoch einen, der mir Probleme bereitet. Es scheint mir so einfach zu sein, aber aus irgendeinem Grund funktioniert es nicht.JavaFXML Assistance - Coin Counter
Was ich tun möchte, ist es, wenn ich auf die Schaltfläche zum Konvertieren klicken, konvertiert das Programm den Dollar-Betrag in Viertel, Groschen, Nickel, Pennies wo Pennies die niedrigste mögliche Menge sein wird. Ich konfiguriere dies über eine Controller-Klasse, die mit meiner Hauptklasse verbunden ist. Ich habe meinen Code unten angehängt. Vielen Dank!
package calculator.coins;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
public class CoinsController {
@FXML
private Button convertButton;
@FXML
private Button resetButton;
@FXML
private TextField dollarsText;
@FXML
private TextField quartersText;
@FXML
private TextField dimesText;
@FXML
private TextField nickelsText;
@FXML
private TextField penniesText;
@FXML
private void ConvertDollars(ActionEvent event)
{
double monetary_amount, quarters, dimes, nickels, pennies;
monetary_amount = Double.parseDouble(dollarsText.getText().toString());
quarters = (monetary_amount/.25);
monetary_amount = monetary_amount%.25;
dimes = (monetary_amount/.10);
monetary_amount = monetary_amount%.10;
nickels = (monetary_amount/.05);
monetary_amount = monetary_amount%0.05;
pennies = (monetary_amount/.01);
monetary_amount = monetary_amount%.01;
quartersText.setText("" +quarters);
dimesText.setText("" +dimes);
nickelsText.setText("" +nickels);
penniesText.setText("" +pennies);
}
@FXML
private void resetProg(ActionEvent event)
{
quartersText.setText("");
dimesText.setText("");
nickelsText.setText("");
penniesText.setText("");
dollarsText.requestFocus();
}
}
Was exectly isn't Arbeits? Und was würdest du erwarten? Wenn ich Ihren Code betrachte, gehe ich davon aus, dass die Methode "ConvertDollars" (die Sie konventionell mit einem Kleinbuchstaben "c" benennen sollten) aufgerufen wird und Sie kein Ergebnis sehen. Das liegt daran, dass Sie das Ergebnis nur einer lokalen Variablen zuweisen. Sie müssen das Ergebnis Ihrer Berechnung in ein Textfeld oder etwas einfügen. – Schlangguru
Wenn ich die Dollars umwandle, setzt das Programm den Text der viertelText auf 0, dimesText auf 1, nickelsText auf 1, penniesText auf 0. Stattdessen möchte ich es, wenn ich den Knopf nach der Eingabe meiner Dollar-Betrag klicken wird bevölkerten die verschiedenen Münz-Textfelder mit der größtmöglichen Menge an Münzen, wo Pfennige das sein würden, was von allen anderen übrig geblieben ist. Also im Wesentlichen, Quartiere dann Groschen dann Nickels dann Pennies. Ich kann das Programm in der Konsole aber nicht in der GUI arbeiten lassen und sie sind genau gleich eingerichtet. –
Kann ich es richtig machen: Sie geben 1 Dollar ein und erhalten die Ausgabe 0 Viertel, 1 Groschen, 1 Cent und 0 Cent? – Schlangguru