我在java中有一个简单的代码,但我无法解决一些错误。 错误是:
1)非法开始表达 2) “;”预期 错误都在行*
中找到public class Exer5 {
public static void main (String[] args) {
int num1;
int num2;
float dieresi;
int pollaplasiasmos;
int prosthesi;
int aferesi;
num1=10;
num2=6;
*public void prosthesi(int num1,int num2) {
prosthesi = num1 + num2;
System.out.println("To apotelesma tis prosthesis einai:"+prosthesi);
}
*public void aferesi() {
aferesi = num1 - num2;
System.out.println("To apotelesma tis aferesis einai:"+aferesi);
}
*public void dieresi() {
dieresi = num1 / num2;
System.out.println("To apotelesma tis dieresis einai:"+dieresi);
}
*public void pollaplasiasmos() {
pollaplasiasmos = num1 * num2;
System.out.println("To apotelesma tou pollaplasiasmou einai:"+pollaplasiasmos);
}
}
}
答案 0 :(得分:4)
如果这是您的原始代码,则表示您未关闭main
功能。您在}
public void prosthesi(int num1,int num2)
答案 1 :(得分:4)
您需要使用}
关闭主要方法答案 2 :(得分:3)
我在这里看到几个问题:
}
的主要方法是在课程结束时(它不会遗漏)。main...
中定义的变量对其他方法不可见,您应该定义实例属性(参见下面的示例)我建议您查看basic concepts of Java's implementation of object-orientation。简化的面向对象的解决方案可能如下所示(删除了一些代码):
public class Exer5 {
int prosthesi; // for your next exercise, mark this private
public static void main (String[] args) {
// attribute prosthesi is *not visible* to main
int num1=10;
int num2=6;
// create the object and send a message to it
Exer5 e5 = new Exer5();
e5.prosthesi(num1, num2);
}
public void prosthesi(int num1,int num2) {
this.prosthesi = num1 + num2; // assign result to instance attribute
System.out.println("To apotelesma tis prosthesis einai:" + prosthesi);
}
// ...
}
希望这会有所帮助......
答案 3 :(得分:1)
您错过了主要方法的结束括号。那应该是它!