一个简单的Java程序改错问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 19:06:53
/*程序改错——测试static、final修饰符的使用;成员变量、类变量的访问;成员方法、类方法的访问。
要求:1)不得删除或添加任何一行;
2)对有错误的行可以用“注释符//”注释掉,并要解释掉的原因
3)将改错后的结果打印或者抄写到作业本上本周四上课时提交
*/
class testFinalStaticError
{
static String s="Hi,jane";
static int i=10;
final int i=10;
int i=10;
public int xp=8;
private int xs=28;
int x=18;

public static void main(String args [])
{
int y=10;
System.out.println(s+i+" y="+y);
set1();
set3();

new test().set2();
test t=new test();
t.set2();
}

static void set1()
{
int x=15;
i=i+1;
System.out.println("x= "+x+"; i= "+i);
}

void set3()
{
set1();
i=i+1;
System.out.println("本类中的实例方法调用类方法: x= "+x+"; i= "+i);
}
}

cl

哥们,给分吧.把下面代码执行就明白了,所有问题已修改,按照你得要求.并都添加了注释.呵呵.和原来得文件对比一下就明白了.

class testFinalStatic
{
static String s="Hi,jane";
static int i=10;
final int i2=10; //i重复定义了.需要改成其它名字,比如i2
int i3=10; //i重复定义了.需要改成其它名字,比如i3
public int xp=8;
public int xs=28; //xs是私有有变量,不能被类外部访问,修改为public
static int x=18; //x不是静态类型,不能被直接操作,需要添加static关键字修饰

public static void main(String args [])
{
int y=10;
System.out.println(s+i+" y="+y);
set1();
set3(); //此方法不是静态方法,不能够直接调用.已用static修饰

new test().set2();
test t=new test();
t.set2();
}

static void set1()
{
int x=15;
i=i+1;
System.out.println("x= "+x+"; i= "+i);
}

static void set3() //此方法不是静态方法,不能够直接调用.已用static修饰
{
set1();
i=i+1;
System.out.println("本类中的实例方法调用类方法: x= "+x+"; i= "+i);
}
}