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);