gpt4 book ai didi

Java.Eclipse 在使用参数在方法外部声明类型的变量时出错

转载 作者:行者123 更新时间:2023-12-01 16:57:48 25 4
gpt4 key购买 nike

以下是我的代码,我使用的是 Eclipse IDE。

因此,我创建了两个类,其中一个称为 Mainclass,另一个称为 Testclass

下面的代码工作正常,但如果我在计算方法之外声明 int 或 integer 类型的整数类型的 ij 变量并写入变量名称仅在计算方法的括号内才会显示错误。我想知道为什么会发生这种情况,在我的原始代码下面是我上面描述的更改后的代码,它显示了荒谬的错误。

[原始代码工作正常]

package calculation;

public class Mainclass {

public static void main(String[] args) {
Testclass obj=new Testclass();
System.out.println(obj.calculate(10,20));
}
}


public class Testclass {
int a;
public int calculate(int i, int j) {
a=i+j;
return a;
}
}

[/原始代码工作正常]

[此代码无法正常工作]

package calculation;

public class Mainclass {

public static void main(String[] args) {
Testclass obj=new Testclass();
System.out.println(obj.calculate(10,20));
}

}



public class Testclass {
int a;
int i;
int j;
public int calculate(i,j) {
a=i+j;
return a;
}
}

[/这段代码不能正常工作]

为什么我们必须在方法的括号内而不是在其外部声明其类型的变量。

提前致谢。

最佳答案

public class Testclass {
int a;
int i;
int j;
public int calculate(i,j) {
a=i+j;
return a;
}
}

在方法参数中,您声明了局部变量,它们与实例变量 i 和 j 不同。

这意味着:你必须用类型来声明它们。此时,编译器不知道那些本地 i 和 j 是什么,因此他不知道如何处理它们。

public class Testclass {
int a;
int i;
int j;
public int calculate(int i, int j) {
a=i+j;
return a;
}
}

这将解决您的问题,但请记住:方法中使用的 i 和 j 是局部变量,而不是实例成员。

关于Java.Eclipse 在使用参数在方法外部声明类型的变量时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30321535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com