Java:有人可以告诉我为什么这行不通吗?我很新。我不明白为什么我不能运行该功能

时间:2018-09-21 04:28:57

标签: java function class

就像标题指出的那样,我需要有关此代码块的帮助。有人可以告诉我为什么它不起作用。

    import java.util.Scanner;
    public class ReturnTest {
        Scanner sc = new Scanner(System.in);

        int z(int x){
            int avalue = x+10;
            return avalue;

        }

        public static void main(String[] args) {

            z hd = new z();


            System.out.println(hd);

        }

    }

4 个答案:

答案 0 :(得分:1)

如前所述,您要实例化该类的新对象,然后使用该实例化的对象调用该函数。我注意到您还使用扫描仪接收输入。在这种情况下,请将输入解析移动到main函数中,然后将输入值传递到z函数中。下面的代码将接受一个整数(并且只有一个整数-否则您将获得InputMismatchException)并将其传递到z函数中。 z函数将返回,并且您的结果将被打印到system.out

import java.util.Scanner;
public class ReturnTest { 

    int z(int x){
        int avalue = x+10;
        return avalue;
    }

    public static void main(String[] args) {
        ReturnTest hd = new ReturnTest();
        Scanner sc = new Scanner(System.in);
        int output = hd.z(sc.nextInt());
        System.out.println(output);
    }

}

答案 1 :(得分:0)

您无法执行此操作z hd = new z();在Java new中,关键字用于创建Java对象。在您的情况下,您尝试创建z的对象,其中z是方法而不是类。

答案 2 :(得分:-1)

您无法创建方法的对象。要运行它,您必须使您的类成为对象,然后使用引用变量调用函数。

ReturnTest rt = new ReturnTest();
rt.z(10);

答案 3 :(得分:-1)

尝试一下!!! ReturnTest rt =新的ReturnTest(); rt.z(10);