所以我只是想学习Java,在看完一些教程并阅读一些基本的东西之后,我不知道为什么这不会运行:
package Test;
public class TestProg {
public static void main(String[] args) {
Fetch fetc = new Fetch();
fetc.more(10, 20);
}
}
这是Fetch类代码:
package Test;
public class Fetch {
public Fetch() {
System.out.println("Fetched!");
int a = 1;
int b = 2;
int c;
while (a < 100 && b < 200) {
a++;
b++;
c = a + b;
System.out.println(c);
}
public void more(int d, int e) {
System.out.println(d + e);
}
}
}
我得到一个“在TestProg中没有为类型Fetch”定义更多(int,int)方法。如果我删除有关“更多”方法的代码(在两个类中),其余代码将正常运行。我很难过为什么会发生这种情况,因为代码与我正在研究的例子非常相似。
答案 0 :(得分:5)
您的方法more(int d, int e)
位于Fetch()
构造函数
您的获取方法应如下所示(注意标记}
关闭构造函数):
package Test;
public class Fetch {
public Fetch() {
System.out.println("Fetched!");
int a = 1;
int b = 2;
int c;
while (a < 100 && b < 200) {
a++;
b++;
c = a + b;
System.out.println(c);
}
}//<---- NOTE: closing constructor
public void more(int d, int e) {
System.out.println(d + e);
}
}
答案 1 :(得分:4)
more
应位于外部构造函数。
这就是为什么缩进非常重要的原因..我们一起让这个星球成为一个更适合居住的地方 - 缩进你的代码:)
答案 2 :(得分:1)
您似乎已在more
构造函数中声明了Fetch
方法。
这不应该编译,也不能从类外部访问该方法。
要解决此问题,请在more
方法声明之前添加一个结束花括号。
答案 3 :(得分:1)
More
必须位于fetch
构造函数之外。
答案 4 :(得分:1)
在while循环之后你有一个缺失}。有一个线索,这个类也会显示有错误!
答案 5 :(得分:1)
您已在more(int, int)
中实施了Fetch() constructor
方法。请验证{
和}
当前代码
class Fetch {
public Fetch() {
public void more(int d, int e) {
System.out.println(d + e);
}
}
}
需要改为如下所示
class Fetch {
public Fetch() {
}
public void more(int d, int e) {
System.out.println(d + e);
}
}
答案 6 :(得分:1)
更多应该在构造函数之外,并且更多地忽略了大括号///
答案 7 :(得分:1)
用下面的替换你的Fetch类,你在课堂上有一些问题:
class Fetch {
public Fetch() {
System.out.println("Fetched!");
int a = 1;
int b = 2;
int c;
while (a < 100 && b < 200) {
a++;
b++;
c = a + b;
System.out.println(c);
}
}
public void more(int d, int e) {
System.out.println(d + e);
}
}