Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中带有扩展名的语法错误_Java_Inheritance_Extend - Fatal编程技术网

Java中带有扩展名的语法错误

Java中带有扩展名的语法错误,java,inheritance,extend,Java,Inheritance,Extend,这是我的主要任务 package oleg; import java.util.Scanner; public class main_class { public static void main(String[] args) { // TODO Auto-generated method stub int length,shetach,num; zura[] z1 = new zura[5]; for(

这是我的主要任务

package oleg;

import java.util.Scanner;

public class main_class {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int length,shetach,num;

        zura[] z1 = new zura[5];    

        for(int i=0;i<z1.length;i++)
        {
            System.out.println("Enter 1,2,or 3");
            Scanner s1=new Scanner(System.in);
            num = s1.nextInt();
            switch (num) {
                case 1:

                    z1[i] = new ribua();
                System.out.println("Enter length");
                length=s1.nextInt();
                z1[i].set_info();
                z1[i].shetach(length);
                System.out.println(shetach);    ////// here is the error

                break;

                default:
               System.out.println("error 3");
                   break;
            }
        }
    }
这是我的第二个类,扩展了zura类

package oleg;

public class ribua extends zura {

    int length;

    public int shetach(int shetach)
    {
        shetach=length*length;
        return shetach;
    }

    public void set_info(int length)
    {
        this.length=length;
    }
我的问题在
System.out.println(shetach)行的
main
类中
如何打印shetach?

它表示局部变量shetach可能尚未初始化。
您必须初始化所有局部变量。这就是它的给定错误的原因。

当您将变量传递给方法时,它会被复制。这意味着,如果在方法中设置该变量,它对调用方没有影响。i、 它不会初始化调用方变量的副本。您需要更改代码,使其看起来像这样

shetatch = z1[i].shetach(length);

方法中的变量
shetatch
具有相同的名称。但在其他方面没有共同之处。

请格式化您的代码。并粘贴完整准确的错误消息。它说明了问题是什么,在哪里。对我们隐藏它是适得其反的,我想这是由于变量shetach没有初始化引起的。shetach函数返回一个int,但从不将其存储在shetach变量中。所以可能只需更改
z1[i].shetach(长度)
shetatch=z1[i].shetach(长度)。但是如果你能更好地解释,减少混乱会有帮助:)嗯,变量shetach不存在于你打印它的范围内。我不明白为什么这篇文章这么难编辑。间距根本不会对齐。其他人可以试一试。
shetatch = z1[i].shetach(length);