0
我一直在学习过去一个月的Java,并且我的分支超出了我班的学习范围,并决定开始制作一个包含各种转换计算器的GUI程序。但是,有一个给我带来麻烦。这对我来说似乎很简单,但由于某种原因,它不起作用。JavaFXML援助 - 硬币计数器
我想要做的就是当我点击转换按钮时,程序会将美元数额转换为宿舍,硬币,镍币和便士,其中便士将是可能的最低金额。我通过一个与我的主类相关的控制器类来配置它。下面附上了我的代码。谢谢!
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();
}
}
什么exectly isn't工作的代码?你期望什么?看看你的代码,我认为,“ConvertDollars”方法(你应该按照惯例命名为小写的“c”)被调用,并且你看不到任何结果。这是因为你只将结果赋给一个局部变量。您必须将计算结果放入文本字段中。 – Schlangguru
当我转换美元时,程序将quartersText的文本设置为0,dimesText为1,nickelsText为1,penniesText为0.相反,当我在输入美元金额后点击按钮时,用尽可能多的硬币填充各种硬币文本字段,其中便士是剩下的所有其他硬币。所以基本上,宿舍然后硬币,然后镍币然后便士。我可以让程序在控制台中工作,但不在GUI中,它们的设置完全相同。 –
我是否正确:您插入1美元的结果是获得输出0个季度,1个角钱,1个镍币和0个便士吗? – Schlangguru