所以即时尝试做一个简单的计算,但有一些问题 错误消息:在该行多个标记 - 没有封闭的类型应用程序的实例是可访问的。必须使用类型为Application的封闭实例 来限定分配(例如,x.new A(),其中x是Application的一个实例)。 - 行断点:应用[行:64] - 主(字符串[])开关计算器错误错误消息java eclipse
我做错了什么?任何人都可以看到错误并修复它吗?
public class Application {
interface MathOp {
public double doMath(double a, double b);
}
class Add implements MathOp{
public double doMath(double a, double b) {
return (a + b);
}
}
class Sub implements MathOp{
public double doMath(double a, double b) {
return (a - b);
}
}
class Div implements MathOp{
public double doMath(double a, double b){
return (a/b);
}
}
class Mul implements MathOp{
public double doMath(double a, double b){
return (a * b);
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double a,b,c;
int choice = 0;
a=b=c=0.0;
while(true) {
System.out.println("Enter two numbers");
a = Double.parseDouble(sc.nextLine());
b = Double.parseDouble(sc.nextLine());
System.out.println("Enter your choice");
System.out.println("1. Add");
System.out.println("2. Sub");
System.out.println("3. Mul");
System.out.println("4. Div");
choice = Integer.parseInt(sc.nextLine());
switch(choice) {
case 1 :
c = new Add().doMath(a,b);
break;
case 2 :
c = new Sub().doMath(a,b);
break;
case 3 :
c = new Div().doMath(a,b);
break;
case 4 :
c = new Mul().doMath(a,b);
break;
default:
break;
}
System.out.println(c + "this is the answere");
System.out.println("would you like to continue? (Y/N)");
if("N".equalsIgnoreCase(sc.nextLine())) { // careful with the paranthesis
break;
}
}
}
为什么在所有这些类中都有'Application'类的内部类? –
不知道为什么..即时通讯新的和即时通讯尝试学习如何创建差异类等 – user2825771
好吧,如果你不确定,只需将这些类移到外面,然后你的代码就可以编译。 –