![](/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.