![](/img/trans.png)
[英]How can I make a calculator ask the user if they want to perform another calculation in Java?
[英]I want to make this calculation using java
這是方程 (input/750)*6 這里,無論我輸入什么值作為輸入,它都會除以 750,然后乘以 6 這是我為計算編寫的代碼示例
JButton btnCalculate = new JButton("Calculate");
btnCalculate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
String r=textFieldInput.getText();
int u=Integer.parseInt("750");
String z1 = r / u *6; /*on this line, i'm getting this error "The operator / is undefined for the argument type(s) String, int" */
textField.setText(z1);
}catch(Exception ei) {
JOptionPane.showMessageDialog(null, "Invalid Input: Please Enter Number");
}
請問我從哪里去?
在行上String r = textFieldInput.getText();
你將r
定義為一個字符串,然后在String z1 = r / u *6;
你試着用它做數學運算。 您必須將r
設為整數:
int r = Integer.parseInt(textFieldInput.getText());
我在你的代碼中看到的另一件事是int u = Integer.parseInt("750");
. 你可以只寫int u = 750;
或者就像你對String z1 = r / u * 6;
的6
所做的那樣String z1 = r / u * 6;
你可以只寫String z1 = r / 750 * 6;
並且不使用變量u
。
最后,你不能通過數學運算直接得到一個字符串,變量z1
必須是一個整數:
int z1 = r / u * 6;
或者您必須將方程轉換為字符串:
String z1 = Integer.toString(r / u * 6);
但有時結果可能是小數,而不是整數,但這段代碼會將結果四舍五入。 如果你想要十進制結果,那么你可以寫:
String z1 = Double.toString((double) r / u * 6);
(double)
將r
從整數轉換為小數,因此您可以從該等式中獲得小數結果。
另外要注意的是,750 / 6 = 125,因此您可以將表達式簡化為:
String z1 = Integer.parseInt(r / 125);
如果您希望結果為十進制,只需編寫:
String z1 = Double.toString(r / 125.0);
125.0
被視為小數,因此結果將是小數。
此代碼的最簡單形式是:
JButton btnCalculate = new JButton("Calculate");
btnCalculate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
int r = Integer.parseInt(textFieldInput.getText());
String z1 = Integer.toString(r / 125);
//If you want the decimal result, replace the line above with:
//String z1 = Double.toString(r / 125.0);
textField.setText(z1);
}catch(Exception ei) {
JOptionPane.showMessageDialog(null, "Invalid Input: Please enter a number.");
}
}
}
JButton btnCalculate = new JButton("Calculate");
btnCalculate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
textField.setText(String.valueOf(Double.parseDouble(textFieldInput.getText())*0.008));
}catch(Exception ei) {
JOptionPane.showMessageDialog(null, "Invalid Input: Please Enter Number");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.