找不到符号和功能无法应用:Java

时间:2013-12-18 18:02:00

标签: java

class Demo2 
{
    int i=1,j=2;
    void fun1()
    {
        i=i+1;
        j=j+1;
    }
    public static void main(String[] args) 
    {

        Demo2 d1=new Demo2();
        d1.fun1();
        d1.fun1();
        d1.fun1();
        System.out.println("Hello World!");
    }
}

符号无法找到并且无法应用错误显示请帮助我,我是一名基本学习者....

3 个答案:

答案 0 :(得分:3)

代码中有几个错误。我评论并提出了一些有效的代码。

class Demo2 
{

    void fun1()
    {
        i=i+1; //i has not been initialized
        j=j+1; //j has not been initialized 
    }
    public static void main(String[] args) 
    {

        Demo2 d1=new Demo2();
        d1.fun1(1);//"fun1" does not accept a parameter.
        d1.fun1();
        d1.fun1();
        System.out.println("Hello World!");
    }
}

这是一个可以帮助你的Demo2课程:

class Demo2
{
    int i = 0;
    int j = 0;

    public void fun1(int param)
    {
        i=i+param;
        j=j+param;
    }

    public static void main(String[] args)
    {
        Demo2 d = new Demo2();
        d.fun1(1);//adds 1 to both i and j
        d.fun1(2);//adds 2 to both i and j
        System.out.println("i is equal to " + i);
        System.out.println("j is equal to " + j);  
    }
}

答案 1 :(得分:0)

您没有声明ij,也没有使用一个参数定义方法fun1

答案 2 :(得分:0)

了解代码无法编译的原因非常重要,或者即使修复了代码也无法执行任何其他操作。

对于初学者,请将ij声明放在您的班级声明下

class Demo2 {
int i = 0;
int j = 0;

现在看看你定义的地方void fun1()。您不允许它接受任何参数。因此d1.fun1();是允许的,但d1.fun1(1);不允许。您没有定义一个名为fun1的函数,它接受一个int作为参数。你必须这样定义它:

void fun1(int input) {
    // Whatever you wanted this function to do
}