我获得了一段代码(类QuestionTwo)。 在新创建的Q2类对象上调用方法mQ2之后,我被要求说明a,b和c的值。
我的main.java文件
package openuniversity;
public class Main
{
public static void main(String[] args)
{
QuestionTwo qt = new QuestionTwo();
qt.mQ2();
}
}
我的QuestionTwo.java类文件:
package openuniversity;
public class QuestionTwo
{
int a;
int b = 1;
public void mQ2()
{
{
int c;
int a = 2;
c = a;
}
{
int c;
int a;
c = 3;
a = 4;
}
a++;
}
}
我到了:
a: 1
b: 1
c: 3
注意我也可以选择'undefined'作为答案? 那么它是1,1,未定义,因为c不存在于代码块之外吗?
问题:
研究以下代码,然后在新创建的Q2类对象上调用方法mQ2一次后,从下面的下拉列表中选择正确的a,b和c值的选项。请注意,您为a,b和c选择的答案可能彼此不同,也可能不同。
public class Q2
{
int a;
int b = 1;
public void mQ2()
{
{
int c;
int a = 2;
c = a;
}
{
int c;
int a;
c = 3;
a = 4;
System.out.println("c: " + c); //correct place?
}
a++;
}
System.out.println("a: " + a + "b: " + b); // correct place?
}
答案 0 :(得分:1)
由于这是作业,我将限制我的答案。
mQ2()
后打印出变量来验证您的解决方案(提示:您可以使用System.println()
)。a
,b
,特别是c
你正在问了一下)。答案 1 :(得分:0)
我建议您在调用mQ2后首先使用System.out.println()打印出所有值,然后在脑海中逐步执行代码以尝试找出为什么值是它们是什么。请记住,声明的任何变量只在范围内可见({...}
为简单起见),但这些变量可以与其他变量具有相同的名称,因此即使它们不相同,它们看起来也可能相同。
我想特别指出在该方法之外不存在c。