-4

すべてのJavaプログラムをcmdでコンパイルしていますが、プログラムの下で実行すると、次のようなエラーが表示されます"reached end of file while parsing"! そして、Eclipseで実行しようとすると、メソッドとメインメソッドである太字のコードの下に赤い下線が表示されます。

import java.io.*;

class empl{

    int empno;
    String name;
    String position;
    int ph;

    public void getdata()throws IOException{

        DataInputStream e = new DataInputStream(System.in);

        System.out.println("Enter name: ");
        empno = Integer.parseInt(e.readLine());

        System.out.println("Enter your name: ");
        name = e.readLine();

        System.out.println("Enter the employee position: ");
        position=e.readLine();

        System.out.println("Enter the phone number: ");
        ph = Integer.parseInt(e.readLine());

    }

    public void displaydata() {

        System.out.println(empno+"\t"+name+"\t"+position+"\t"+ph);
    }

class manager extends empl{

    int salary;
    String secname;

    public void getdata() throws IOException{
        getdata();

        DataInputStream e= new DataInputStream(System.in);

        System.out.println("Enter salary: ");
        salary=Integer.parseInt(e.readLine());

        System.out.println("Enter second name: ");
        secname= e.readLine();

    }

    public void displaydata(){
        displaydata();
        System.out.println(salary+"\t"+secname);
    }

class inheritt{
    public static void **main(String []args)throws IOException**{

    inheritt e1= new inheritt();         
    inheritt e2= new inheritt();

  **e1.getdata();
    e2.getdata();

    e1.displaydata();
    e2.displaydata();**

}
4

2 に答える 2

0

トップレベルのクラスだけがメソッドを持つことができます:内部クラスではなくトップレベルのクラスとしてstatic宣言しますinheritt

public class inheritt {
   public static void main(String[] args) throws IOException {
    ...
   }
}
于 2013-11-10T14:33:52.067 に答える
0
**e1.getdata();
e2.getdata();

e1.displaydata();
e2.displaydata();**

e1ande2は of であり、 andはメソッドinheritt typeを持っていませんgetdata()displaydata()

このコードを試してください...これはあなたが望むものかもしれません。ブラケットのいくつかを修正しましたが、何がどこにあるのかよくわかりません。私も、作りましたinheritt extends manager。それがあなたの望みだと思います。クラスの継承チェーンを表示したい場合があります。

import java.io.*;

class empl{

    int empno;
    String name;
    String position;
    int ph;

    public void getdata()throws IOException{

        DataInputStream e = new DataInputStream(System.in);

        System.out.println("Enter name: ");
        empno = Integer.parseInt(e.readLine());

        System.out.println("Enter your name: ");
        name = e.readLine();

        System.out.println("Enter the employee position: ");
        position=e.readLine();

        System.out.println("Enter the phone number: ");
        ph = Integer.parseInt(e.readLine());

    }

    public void displaydata() {
        System.out.println(empno+"\t"+name+"\t"+position+"\t"+ph);
    }
}

class manager extends empl{

    int salary;
    String secname;

     public void getdata() throws IOException{
         getdata();

         DataInputStream e= new DataInputStream(System.in);

         System.out.println("Enter salary: ");
         salary=Integer.parseInt(e.readLine());

         System.out.println("Enter second name: ");
         secname= e.readLine();
    }

    public void displaydata(){
        super.displaydata();
        System.out.println(salary+"\t"+secname);
    }

class inheritt extends manager {
    public static void **main(String []args)throws IOException**{

    inheritt e1= new inheritt();         
    inheritt e2= new inheritt();

    e1.getdata();
    e2.getdata();

    e1.displaydata();
    e2.displaydata();

}
于 2013-11-10T14:46:09.507 に答える