Java 后编译错误,检查控制台?
错误消息与实际代码一起发布在下面。代码可以编译和运行,但不是在最后打印,而是收到一条弹出的错误消息(下面的屏幕截图),但我不明白这是什么意思,也不明白为什么会得到它。有人能帮忙吗?谢谢Java 后编译错误,检查控制台?,java,class,compiler-errors,console,Java,Class,Compiler Errors,Console,错误消息与实际代码一起发布在下面。代码可以编译和运行,但不是在最后打印,而是收到一条弹出的错误消息(下面的屏幕截图),但我不明白这是什么意思,也不明白为什么会得到它。有人能帮忙吗?谢谢 public class Employee10 { public static void main ( String args[] ) { Employee e1 = new Employee(); Employee[] arr = new Employee[
public class Employee10
{
public static void main ( String args[] )
{
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");
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() );
}
}
}
公共类员工10
{
公共静态void main(字符串参数[])
{
员工e1=新员工();
员工[]arr=新员工[2];
int j=0;
对于(int i=0;i<3;i++)
{
arr[0]=e1;
String nameF=Input.getString(“请输入名字”);
String nameL=Input.getString(“请输入姓氏”);
int Number=Input.getInt(“请输入员工编号”);
String Street=Input.getString(“请输入街道地址”);
String City=Input.getString(“请输入一个城市”);
String State=Input.getString(“请输入状态”);
double Zip=Input.getDouble(“请输入邮政编码”);
int Month=Input.getInt(“请输入一个月”);
int Day=Input.getInt(“请输入一天”);
int Year=Input.getInt(“请输入年份”);
e1.设置编号(编号);
e1.设置名称(新名称(nameF,nameL));
e1.设置地址(新地址(街道、城市、州、邮政编码));
e1.设定日期(新日期(月、日、年));
System.out.println(e1.getEmployeeString());
arr[i]=e1;
}
对于(j=0;j
错误消息:
(不幸的是,我无法嵌入照片,因此我只需键入代码即可):
public class Employee10
{
public static void main ( String args[] )
{
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");
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() );
}
}
}
无法启动Java类文件“Employee10.class”。检查
控制台将显示可能的错误消息
public class Employee10
{
public static void main ( String args[] )
{
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");
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() );
}
}
}
这一切意味着什么?我可以检查的控制台在哪里?TL;DR:控制台取决于您运行代码所使用的软件(我们称之为集成开发环境或IDE)。如果你告诉我们你在用什么软件,我们可以帮你
public class Employee10
{
public static void main ( String args[] )
{
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");
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() );
}
}
}
长答覆:
通常有两种错误-编译时错误和运行时错误。编译时错误通常由IDE告知您。这些问题包括拼写错误的关键字(“itn”代替“int”,“tSring”代替“String”,等等)和缺少分号。运行时错误是另一回事。当您的程序实际运行时会发生这些情况。一个例子是假设您有一个大小为10的数组。如果您尝试查看第十一个元素,当您运行程序时,它将失败。这些错误通常以堆栈跟踪的形式出现在控制台中—一些消息告诉您调用了哪些函数以及具体错误来自何处。如果您使用的是非常基本的
IDE
如BlueJ
(因为您是初学者),我建议您放置类似于System.out.println(“开始程序”)的东西代码>
public class Employee10
{
public static void main ( String args[] )
{
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");
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() );
}
}
}
或者类似的在控制台上打印内容的东西。将此作为main
中的第一条语句。现在console
可以被视为显示输出语句的地方(原始定义)。可以被视为显示窗口。
早在我学习java的时候,我就使用了BlueJ
,直到控制台上有打印的东西时,它才触发程序。它总是首先寻找打印语句
public class Employee10
{
public static void main ( String args[] )
{
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");
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() );
}
}
}
最奇怪的是,在main
函数中,它从不需要字符串数组作为参数。当我切换到eclipse时,我感到惊讶,因为没有main
中的参数,程序无法编译。因此,一些非常基本的IDE
可能会让事情变得奇怪
public class Employee10
{
public static void main ( String args[] )
{
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");
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() );
}
}
}
我建议您尝试这个解决方案,并尝试使用一个好的IDE
,比如eclipse
或netbeans
。这些IDE
非常专业,可以让您对程序中出现的错误有一个即时的好主意。您是如何编译和运行代码的?您是哪个IDE使用?.Eclipse、BlueJ等。您确定您正在运行Employee10
并且没有尝试运行Employee10.class
?我正在使用Mac(软件上当前最新的版本),并且正在使用终端运行我的代码
public class Employee10
{
public static void main ( String args[] )
{
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");
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() );
}
}
}