&引用;。“类”;Java中的错误
我正在尝试运行此程序,但无法运行,编译器正在向我发送一个“.class”错误。 有人能帮我解决这个问题吗?如果可能的话,可以提供关于“.class”错误的一般提示吗? 节目如下:&引用;。“类”;Java中的错误,java,Java,我正在尝试运行此程序,但无法运行,编译器正在向我发送一个“.class”错误。 有人能帮我解决这个问题吗?如果可能的话,可以提供关于“.class”错误的一般提示吗? 节目如下: import java.io.*; class Bus { private int kostos; private int plithos; private int typepiv; Bus(int x,int y,int z)
import java.io.*;
class Bus
{
private int kostos;
private int plithos;
private int typepiv;
Bus(int x,int y,int z)
{
kostos=x;
plithos=y;
typepiv=z;
}
public void KB(int[] x)
{
try{
for(int i=1;i<5;i++)
{
if(typepiv==2)
{
plithos=plithos+plithos/2;
kostos=kostos-kostos/2;
}
if(typepiv==3)
{
plithos=plithos-plithos/5;
kostos=kostos-kostos*25/100;
}
if(typepiv==1)
{
plithos=plithos;
kostos=kostos;
}
x[i]=plithos*kostos;
}
} catch(Exception ex){
ex.printStackTrace();
}
}
}
class testBus
{
public static void main(String args[])
{
String leof[]=new String[4];
int leof1[][]=new int[4][3];
for(int i=1;i<5;i++)
{
System.out.println("dwste onoma leoforiou");
leof[i]=UserInput.getString();
System.out.println("dwste kostos thesis enilika");
leof1[i][1]=UserInput.getInteger();
System.out.println("dwste plithos thesewn");
leof1[i][2]=UserInput.getInteger();
System.out.println("dwste tupos epibath gia enilikes=1,gia
paidia=2,gia suntaksiouxous=3");
leof1[i][3]=UserInput.getInteger();
Bus leof2=new Bus(leof1[i][1],leof1[i][2],leof1[i][3]);
}
int KostEnoik[]=new int[4];
----->leof2.KB(KostEnoik);
System.out.print("onoleo");
System.out.print(" ");
System.out.print("plithos");
System.out.print(" ");
System.out.print("kost(EURO)");
System.out.print("typepiv");
System.out.print(" ");
System.out.print("apotelesma kostEnoik");
for(int g=1;g<5;g++)
{
System.out.print(leof[g]);
System.out.print(leof1[g][2]);
System.out.print(leof1[g][1]);
System.out.print(leof1[g][3]);
System.out.print(KostEnoik[g]);
}
}
}
import java.io.*;
班车
{
私人国际科斯托斯酒店;
私家车;
私有int-typepiv;
总线(整数x,整数y,整数z)
{
kostos=x;
plithos=y;
类型PIV=z;
}
公共void KB(int[]x)
{
试一试{
对于(int i=1;i在调用KB
leof2.KB(KostEnoik);
并移除前面的封闭大括号}
< java >命名约定表示变量以小写字母开头,例如“代码>代码”>代码>。
阅读
您试图访问定义范围之外的“leof2”变量(在本例中为for循环),这是不允许的
方法KB将int数组作为参数,但在传递参数时不必添加[]
leof2.KB(KostEnoik)
然而,您的逻辑有些奇怪:您重复(for循环)设置leof2,但只有循环的最后一次迭代才会有任何效果。我几乎可以肯定,这不是您真正想要的,但真正应该定义总线leof2的正确答案取决于对该问题的更正。问题在于您的访问
leof2.KB(KostEnoik[])
您正试图在定义“leof2”变量的作用域之外访问该变量,即“外部for循环”和“作用域最多for循环”,这就是编译器无法找到该变量的原因。leof2.KB(KostEnoik);
这是主要原因。是否导入了用户输入
。
也试着通过
任何方法都可以使用<代码>对象< /代码>,当它是<代码>非静态< /代码>或类名时,它是<代码>静态< /代码>。请考虑此
将leof2对象从For循环的一侧取出
当您将数组作为参数“leof2.KB(KostEnoik[]);”传递时,不要键入[]
即使编译器错误对你来说没有任何意义,它也可能对这里的其他人有意义。你能复制编译器错误的确切文本吗?我输入leof2.KB(KostEnoik);在循环内部,现在编译器将文件thnxs编译成每个人我也这样尝试过,但不是说它找不到您导入的symbolDidUserInput
?我想要的是数组leof[1][1]和leof 1[2][1]说到这个方法,我真的不知道怎么做请记住,我是一年级学生,所以我知道的不多。我认为你最好重新开始,因为你的程序的逻辑是非常扭曲的,因为你正在使用所有不同的数组,一旦你解决了这个问题中提到的问题,你将面临一个新的问题边界条件数组索引的ber(提示:int a[4]的最后一个元素是a[3])。理想情况下,尝试将描述一行的所有数据分组到一个单独的类中,并将KB方法移动到该类中。这将更加清晰,并且更加面向对象。@user3194888有我的朋友吗
leof1[i][3]=UserInput.getInteger();
Bus leof2=new Bus(leof1[i][1],leof1[i][2],leof1[i][3]);
}
int KostEnoik[]=new int[4];
leof2.KB(KostEnoik[]);