这是等式 (输入/ 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");
}
请问我从哪里开始?
答案 0 :(得分:0)
在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;
,也可以像在6
中使用String z1 = r / u * 6;
一样,只写String z1 = r / 750 * 6;
而不使用变量u
。
最后,您不能直接从数学运算中获得String,变量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.");
}
}
}
答案 1 :(得分:-1)
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");
}