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

Java 无法识别的运行时错误--无法启动/控制台,java,class,compilation,runtime,runtime-error,Java,Class,Compilation,Runtime,Runtime Error,编译并运行程序后,我遇到了一个奇怪的错误。我相信这些被称为运行时错误?对吗?这个程序编译得很好,包括了所有的类。当我打开编译后的程序时,系统会提示我(正确地)输入所有信息,然后当程序应该打印出最终输出时,我会收到一条弹出的错误消息(java咖啡杯上有一个黄色感叹号),上面写着“无法启动Java类文件'Employee10.Java'。检查控制台是否存在可能的错误消息。“如果程序的其余部分运行正常,有人知道我为什么会收到这条消息吗?我的print语句不正确吗?下面我添加了所有的类,以防Employ

编译并运行程序后,我遇到了一个奇怪的错误。我相信这些被称为运行时错误?对吗?这个程序编译得很好,包括了所有的类。当我打开编译后的程序时,系统会提示我(正确地)输入所有信息,然后当程序应该打印出最终输出时,我会收到一条弹出的错误消息(java咖啡杯上有一个黄色感叹号),上面写着“无法启动Java类文件'Employee10.Java'。检查控制台是否存在可能的错误消息。“如果程序的其余部分运行正常,有人知道我为什么会收到这条消息吗?我的print语句不正确吗?下面我添加了所有的类,以防Employee10.java中不一定有错误。如果有人能帮上忙,我将不胜感激。我是java编程新手,真的需要帮助和帮助。”指导。非常感谢大家

这是雇员

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

}

在Employee类文件中,可以替换

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


这似乎没有帮助。这到底应该做些什么来解决这个问题?它对我来说运行良好…您可以使用最新的mac并使用BlueJ编写和编译程序来共享环境详细信息,如IDE、JDK、版本、项目详细信息等。然后会出现一个新文件(一个.class文件)对于我上面发布的6个文件中的每一个。然后我单击并启动Employee10.class文件,输入所有信息,但它就是不被打印。这是我的计算机的问题吗?@Skier1999我在Windows、STS IDE和JDK 1.8上试过。这可能是环境问题。我对BlueJ没有太多的想法。我希望你正在运行你你的类文件像这样,我试着下载Eclipse(一个不同的IDE),它工作了!一定是BlueJ或我的电脑…非常感谢所有的帮助!
public String getEmployeeString()
    {
        return name.getNameString() + Number + address + HireDate;
    }
public String getEmployeeString()
    {
        return name.getNameString() + Number + address.GetAddressString()  + HireDate.getDateString();
    }