&引用;。“类”;Java中的错误

&引用;。“类”;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)

我正在尝试运行此程序,但无法运行,编译器正在向我发送一个“.class”错误。 有人能帮我解决这个问题吗?如果可能的话,可以提供关于“.class”错误的一般提示吗? 节目如下:

    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编译成每个人我也这样尝试过,但不是说它找不到您导入的symbolDid
    UserInput
    ?我想要的是数组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[]);