.class 错误无法弄清楚
.class error cant figure it out
.class 预计在第 68 行
return 双结果;
该程序无法编译,但我无法弄清楚有人可以帮忙吗?
这是一个基本的计算器 java 文件 tkaes 用户编号并根据输入的运算符对其进行数学运算
// Calculator.java - This program performs arithmetic, ( +. -, *. /, % ) on two numbers
// Input: Interactive.
// Output: Result of arithmetic operation
import javax.swing.*;
public class Calculator
{
public static void main(String args[])
{
double numberOne, numberTwo;
String numberOneString, numberTwoString;
String operation;
double result ;
numberOneString = JOptionPane.showInputDialog("Enter the first number: ");
numberOne = Double.parseDouble(numberOneString);
numberTwoString = JOptionPane.showInputDialog("Enter the second number: ");
numberTwo = Double.parseDouble(numberTwoString);
operation = JOptionPane.showInputDialog("Enter an operator (+.-.*,/,%): ");
// Call performOperation method here
result = performoperation(numberOne, numberTwo, operation);
System.out.format("%.2f",numberOne);
System.out.print(" " + operation + " ");
System.out.format("%.2f", numberTwo);
System.out.print(" = ");
System.out.format("%.2f", result);
System.exit(0);
} // End of main() method.
// Write performOperation method here.
public static double performOperation(double numberOne, double numberTwo, String operation)
{
double result = 0;
if (operation .equals("+")){
result = numberOne + numberTwo;
}
else if (operation .equals("-")){
result = numberOne - numberTwo;
}
else if (operation .equals("/")){
result = numberOne / numberTwo;
}
else if (operation .equals("*")){
result = numberOne * numberTwo;
}
else if (operation .equals("%")){
result = numberOne % numberTwo;
}
return double result;
System.out.println("The result is " + result);
}// END
} // End of Calculator class.
您的代码有一些错误:
您正在尝试 return double result
,而实际上,您应该只 return result
.
在您的 main 方法中,您正在调用一个不存在的方法,即 'performoperation',而您的方法称为 'performOperation'。 Java区分大小写。
您试图在 return 编辑后打印结果,但这是行不通的。 return.
之前必须先打印
我修复了你的一些代码,并将你的 if/else 语句转换为 switch case(我认为当你有重复代码时更容易处理)。
import javax.swing.*;
public class Calculator {
public static void main(String args[]) {
String numberOneString = JOptionPane.showInputDialog("Enter the first number: ");
double numberOne = Double.parseDouble(numberOneString);
String numberTwoString = JOptionPane.showInputDialog("Enter the second number: ");
double numberTwo = Double.parseDouble(numberTwoString);
String operation = JOptionPane.showInputDialog("Enter an operator (+.-.*,/,%): ");
// Call performOperation method here
double result = performOperation(numberOne, numberTwo, operation);
System.out.format("%.2f", numberOne);
System.out.print(" " + operation + " ");
System.out.format("%.2f", numberTwo);
System.out.print(" = ");
System.out.format("%.2f", result);
System.exit(0);
} // End of main() method.
// Write performOperation method here.
public static double performOperation(double numberOne, double numberTwo, String operation) {
double result = 0;
switch (operation) {
case "+":
result = numberOne + numberTwo;
break;
case "-":
result = numberOne - numberTwo;
break;
case "/":
result = numberOne / numberTwo;
break;
case "*":
result = numberOne * numberTwo;
break;
case "%":
result = numberOne % numberTwo;
break;
default:
break;
}
System.out.println("The result is " + result);
return result;
}// END
} // End of Calculator class.
您有多个错误:
1.Error:
这是不正确的,因为该方法的名称是 performOperation:
result = performoperation(numberOne, numberTwo, operation);
所以你必须把它改成:
result = performOperation(numberOne, numberTwo, operation);
2。错误:这里的语法不正确,如果你仔细想想,在 return 语句之后有代码是没有意义的,因为该方法将 return 与它的任何值有:
return double result;
System.out.println("The result is " + result);
所以将其更改为:
System.out.println("The result is " + result);
return result;
有两点值得一提:
例如,当您将变量与字符串进行比较时,最好这样做:
"+".equals(运算)
这样你就可以避免 NullPointerException(想想如果你的代码由于某种原因得到 null 作为操作会发生什么? 它将 null 与“+”字符串进行比较,您将得到 NullPointerException)。您可以查看 Enum 的概念,以更安全的方式处理操作 ;)
- 应用程序将在 main 方法结束时终止,因此 System.exit(0) 在 Java.[=43 中不需要=]
.class 预计在第 68 行 return 双结果; 该程序无法编译,但我无法弄清楚有人可以帮忙吗?
这是一个基本的计算器 java 文件 tkaes 用户编号并根据输入的运算符对其进行数学运算
// Calculator.java - This program performs arithmetic, ( +. -, *. /, % ) on two numbers
// Input: Interactive.
// Output: Result of arithmetic operation
import javax.swing.*;
public class Calculator
{
public static void main(String args[])
{
double numberOne, numberTwo;
String numberOneString, numberTwoString;
String operation;
double result ;
numberOneString = JOptionPane.showInputDialog("Enter the first number: ");
numberOne = Double.parseDouble(numberOneString);
numberTwoString = JOptionPane.showInputDialog("Enter the second number: ");
numberTwo = Double.parseDouble(numberTwoString);
operation = JOptionPane.showInputDialog("Enter an operator (+.-.*,/,%): ");
// Call performOperation method here
result = performoperation(numberOne, numberTwo, operation);
System.out.format("%.2f",numberOne);
System.out.print(" " + operation + " ");
System.out.format("%.2f", numberTwo);
System.out.print(" = ");
System.out.format("%.2f", result);
System.exit(0);
} // End of main() method.
// Write performOperation method here.
public static double performOperation(double numberOne, double numberTwo, String operation)
{
double result = 0;
if (operation .equals("+")){
result = numberOne + numberTwo;
}
else if (operation .equals("-")){
result = numberOne - numberTwo;
}
else if (operation .equals("/")){
result = numberOne / numberTwo;
}
else if (operation .equals("*")){
result = numberOne * numberTwo;
}
else if (operation .equals("%")){
result = numberOne % numberTwo;
}
return double result;
System.out.println("The result is " + result);
}// END
} // End of Calculator class.
您的代码有一些错误:
您正在尝试 return
double result
,而实际上,您应该只 returnresult
.在您的 main 方法中,您正在调用一个不存在的方法,即 'performoperation',而您的方法称为 'performOperation'。 Java区分大小写。
您试图在 return 编辑后打印结果,但这是行不通的。 return.
之前必须先打印
我修复了你的一些代码,并将你的 if/else 语句转换为 switch case(我认为当你有重复代码时更容易处理)。
import javax.swing.*;
public class Calculator {
public static void main(String args[]) {
String numberOneString = JOptionPane.showInputDialog("Enter the first number: ");
double numberOne = Double.parseDouble(numberOneString);
String numberTwoString = JOptionPane.showInputDialog("Enter the second number: ");
double numberTwo = Double.parseDouble(numberTwoString);
String operation = JOptionPane.showInputDialog("Enter an operator (+.-.*,/,%): ");
// Call performOperation method here
double result = performOperation(numberOne, numberTwo, operation);
System.out.format("%.2f", numberOne);
System.out.print(" " + operation + " ");
System.out.format("%.2f", numberTwo);
System.out.print(" = ");
System.out.format("%.2f", result);
System.exit(0);
} // End of main() method.
// Write performOperation method here.
public static double performOperation(double numberOne, double numberTwo, String operation) {
double result = 0;
switch (operation) {
case "+":
result = numberOne + numberTwo;
break;
case "-":
result = numberOne - numberTwo;
break;
case "/":
result = numberOne / numberTwo;
break;
case "*":
result = numberOne * numberTwo;
break;
case "%":
result = numberOne % numberTwo;
break;
default:
break;
}
System.out.println("The result is " + result);
return result;
}// END
} // End of Calculator class.
您有多个错误:
1.Error: 这是不正确的,因为该方法的名称是 performOperation:
result = performoperation(numberOne, numberTwo, operation);
所以你必须把它改成:
result = performOperation(numberOne, numberTwo, operation);
2。错误:这里的语法不正确,如果你仔细想想,在 return 语句之后有代码是没有意义的,因为该方法将 return 与它的任何值有:
return double result;
System.out.println("The result is " + result);
所以将其更改为:
System.out.println("The result is " + result);
return result;
有两点值得一提:
例如,当您将变量与字符串进行比较时,最好这样做:
"+".equals(运算)
这样你就可以避免 NullPointerException(想想如果你的代码由于某种原因得到 null 作为操作会发生什么? 它将 null 与“+”字符串进行比较,您将得到 NullPointerException)。您可以查看 Enum 的概念,以更安全的方式处理操作 ;)
- 应用程序将在 main 方法结束时终止,因此 System.exit(0) 在 Java.[=43 中不需要=]