未识别的运行时错误 - 无法启动/控制台

时间:2016-01-05 17:24:30

标签: java class compilation runtime runtime-error

编译并运行程序后,我遇到了一个奇怪的错误。我相信这些被称为运行时错误?那是对的吗?该程序编译完美,包括所有类。当我打开已编译的程序时,我被提示(正确)输入所有信息,然后当程序打印出最终输出时,我收到一条弹出错误消息(在java咖啡杯上有一个黄色感叹号)说“无法启动Java类文件'Employee10.java'。检查控制台是否有可能的错误消息。”如果程序的其余部分正确运行,是否有人知道为什么我收到此消息?我的印刷声明不正确吗?下面我添加了所有类只是因为错误不一定在Employee10.java中。如果有人可以对此有所帮助,我将非常感激。我是Java编程的新手,可以真正使用帮助和指导。非常感谢你们。

这是Employee10

public class Employee10
{   
    public static void main ( String[] args )
    {
        System.out.println("Begin Program");

        Employee e1 = new Employee();
        Employee[] arr = new Employee[2];

        int j = 0;


        for ( int i=0; i < 3; i++)
        {
            arr[0] = e1;

            String nameF = Input.getString("Please enter a First Name");
            String nameL = Input.getString("Please enter a Last Name");
            int Number = Input.getInt("Please enter an Employee Number");
            String Street = Input.getString("Please enter a Street address");
            String City = Input.getString("Please enter a City");
            String State = Input.getString("Please enter a State");
            double Zip = Input.getDouble("Please enter a Zip Code"); 
            int Month = Input.getInt("Please enter a Month in numbers");
            int Day = Input.getInt("Please enter a Day");
            int Year = Input.getInt("Please enter a Year");

            e1.setNumber(Number);
            e1.setName( new Name(nameF, nameL));
            e1.setAddress(new Address(Street, City, State, Zip));
            e1.setHireDate(new Date(Month, Day, Year));

            System.out.println(e1.getEmployeeString());


            arr[i] = e1;

        }   

        for ( j=0; j < arr.length; j++ )
        {
            System.out.println( arr[j].getEmployeeString() );
        }   
    }
}

这是员工

public class Employee
{
     private int Number;
     Name name;
     Address address;
     Date HireDate;

    public void setNumber ( int N )
    {
        Number = N;
    }

    public void setName ( Name n )
    {
        name = n;
    }

    public void setAddress ( Address a )
    {
        address = a;
    }

    public void setHireDate ( Date h )
    {
        HireDate = h;
    }

        public String getEmployeeString()
    {
        return name.getNameString() + Number + address + HireDate;
    }


}

这是日期

public class Date
{
  private int month;
  private int day;
  private int year;

  public Date() { month = 0; day = 0; year = 0; }

  public void setDate( int m, int d, int y )
  {
    month = m; day = d; year = y;
  }

  public String getDateString()
  {
    return month + "/" + day + "/" + year;
  }

  public Date( int m, int d, int y )
  {
  month = m;
  day = d;
  year = y;
  }

}

这是姓名

public class Name
{
private String NameF;
private String NameL;


public void setNameF ( String F )
{
    NameF = F;
}

public void setNameL ( String L )
{
    NameL = L;
}

public String getNameString ()
{
    return NameF + NameL;

}

public Name ( String F, String L )
{
    NameF = F;
    NameL = L;
}

public Name ()
{
    NameF = "John";
    NameL = "Doe";
}
}

这是地址

public class Address
{
private String Street;
private String City;
private String State;
private double Zip;

public void setStreet ( String s )
{
    Street = s;
}

public void setCity ( String c )
{
    City = c;
}

public void setState ( String T )
{
    State = T;
}

public void setZip ( double z )
{
    Zip = z;
}

public String GetAddressString ()
{
    return Street + City + State + Zip;
}

public Address ( String s, String c, String T, double z )
{
    Street = s;
    City = c;
    State = T;
    Zip = z;
}

public Address ()
{
    Street = "No street";
    City = " No City";
    State = "No state";
    Zip = 00000;
}
}

这是输入

import javax.swing.*;


public class Input
{
public static byte getByte( String s )
{
    String input = JOptionPane.showInputDialog( s );
    return Byte.parseByte( input );
}

public static short getShort( String s )
{
    String input = JOptionPane.showInputDialog( s );
    return Short.parseShort( input );
}

public static int getInt( String s )
{
    String input = JOptionPane.showInputDialog( s );
    return Integer.parseInt( input );
}

public static long getLong( String s )
{
    String input = JOptionPane.showInputDialog( s );
    return Long.parseLong( input );
}

public static float getFloat( String s )
{
    String input = JOptionPane.showInputDialog( s );
    return Float.parseFloat( input );
}

public static double getDouble( String s )
{
    String input = JOptionPane.showInputDialog( s );
    return Double.parseDouble( input );
}

public static boolean getBoolean( String s )
{
    String input = JOptionPane.showInputDialog( s );
    return Boolean.parseBoolean( input );
}

public static char getChar( String s )
{
    String input = JOptionPane.showInputDialog( s );
    return input.charAt(0);
}

public static String getString( String s )
{
    String input = JOptionPane.showInputDialog( s );
    return input;
}

}

1 个答案:

答案 0 :(得分:0)

在Employee类文件中可以替换

public String getEmployeeString()
    {
        return name.getNameString() + Number + address + HireDate;
    }

public String getEmployeeString()
    {
        return name.getNameString() + Number + address.GetAddressString()  + HireDate.getDateString();
    }