我参加了Roane州社区学院的编程课程。我已经阅读了整个第3章,采取了quize,并通过了。
所以,现在我在尝试使用3个不同的实例变量创建一个Employee类文件几个小时之后,我感到非常沮丧,然后由Employee Constructor初始化。
这三个变量是这样的:
教师向我们提供了构造函数的一些签名和方法供您参考:"
public Employee(String fName, String lName, double empSalary )
public void setFirstName( String fName )
public void setLastName( String lName )
public void setSalary(double empSalary )
public String getFirstName()
public String getLastName()
public double getSalary()
所以,我已经把自己疯了两次,并且再一次在我的智慧结束时,因为我操纵了我的代码,并且使用我认为可能产生正确结果的变量替换了诸如int之类的变量,然后将其更改回来,一直在咨询互联网,本网站上的主题和我的教科书。这是我的"香草格式"中的代码。在我为其代码添加任何形式的替代方案之前:
/ ************* ******* 文件:9-27.java 作者:Steven Dorsey 日期:2014年9月 描述:这是一个Employee类文件 的 *************** *** /
//Initiation the Class file first iirc
公共类员工 { int FirstName,LastName,Salary; //实例变量
// main method begins program execution
public static void main( String[] args )
{
// should introduce and initialize the constructor Employee
public Employee( String fName, String lName, double empSalary )
{
FirstName = fName;
LastName = lName;
Salary = empSalary;
}
//下面:set和get方法
public void setFirstName( int fName ) // set the First Name
{
FirstName = fName;
}
public void setLastName( int lName ) // set the Last Name
{
LastName = lName;
}
public void setSalary( int empSalary ) // set the Employee Salary
{
Salary = empSalary;
}
public int getFirstName() // get the First Name
{
return FirstName;
}
public int getLastName() // get the Last Name
{
return LastName;
}
public int getSalary() // get the Employee Salary
{
return Salary;
}
} // End of Main
} //班级结束
(出于某种原因,这里关闭我的Main和我的Class文件的最后两行没有包含在引号和内容中,但是你明白了。)
现在,我相信我必须先创建Employee类,然后在Employee类文件中创建Main,以便Constructor可以使用set和get命令初始化其中的实例变量。
我认为应该发生的是,命令提示符应该出现并询问名字,然后检索它,并再次为姓氏,然后工资。
但是,由于出现以下错误,我的TextPad程序无法通过编译。这些将难以阅读,除非您预先警告有大约14个错误,并且所有这些错误都以">开头。 E:[DRIVE LOCATION],然后是冒号,错误消息,以及有问题的代码行,向上箭头指向确切的位置,由块引号系统地移动,对我来说没有办法保持向上错误符号,以显示每个错误发生问题的位置。自从8:30开始,我一直在疯狂地疯狂,这个网站似乎也只是在试图发布帮助信息时给我带来麻烦。 :(
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:16:error:非法启动表达式 public Employee(String fName,String lName,double empSalary) ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:16:错误:')'预期 public Employee(String fName,String lName,double empSalary) ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:16:error:非法启动表达式 public Employee(String fName,String lName,double empSalary) ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:16:error:' ;;'预期 public Employee(String fName,String lName,double empSalary) ^
E:\ Libraries \ School \ Intro to Programming \ Programming Assignment 2 \ Program 2 \ Employee.java:16:error:not a statement public Employee(String fName,String lName,double empSalary) ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:16:error:' ;;'预期 public Employee(String fName,String lName,double empSalary) ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:16:error:' ;;'预期 public Employee(String fName,String lName,double empSalary) ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:23:error:非法启动表达式 public void setFirstName(int fName)//设置名字 ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:23:error:非法启动表达式 public void setFirstName(int fName)//设置名字 ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:23:error:' ;;'预期 public void setFirstName(int fName)//设置名字 ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:23:error:' ;;'预期 public void setFirstName(int fName)//设置名字 ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:28:error:非法启动表达式 public void setLastName(int lName)//设置姓氏 ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:28:error:非法启动表达式 public void setLastName(int lName)//设置姓氏 ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:28:error:' ;;'预期 public void setLastName(int lName)//设置姓氏 ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:28:error:' ;;'预期 public void setLastName(int lName)//设置姓氏 ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:33:error:非法启动表达式 public void setSalary(int empSalary)//设置Employee Salary ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:33:error:非法启动表达式 public void setSalary(int empSalary)//设置Employee Salary ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:33:error:' ;;'预期 public void setSalary(int empSalary)//设置Employee Salary ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:33:error:' ;;'预期 public void setSalary(int empSalary)//设置Employee Salary ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:38:error:非法启动表达式 public int getFirstName()//获取名字 ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:38:error:' ;;'预期 public int getFirstName()//获取名字 ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:43:错误:非法启动表达式 public int getLastName()//获取姓氏 ^
E:\ Libraries \ School \编程简介\编程作业2 \ Program 2 \ Employee.java:43:error:' ;;'预期 public int getLastName()//获取姓氏 ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:48:error:非法启动表达式 public int getSalary()//获取Employee Salary ^
E:\ Libraries \ School \编程简介\编程作业2 \程序2 \ Employee.java:48:error:' ;;'预期 public int getSalary()//获取Employee Salary ^
25个错误
工具已完成,退出代码为1
最终,第一个错误表示public不是用于声明构造函数的有效表达式的开头,并且在声明我需要括号不括的括号时使用,以及tehy不用的分号(在实例变量之后)或者int命令,或其他什么),他们都说我的确切代码如何需要一些代码,这些代码表示与构造函数或set / get命令参数之后的参数无关的东西。 :\
现在,如果我完全从代码中删除public static void main( String[] args )
,只是声明一个类文件,然后是一个带有实例变量和命令的构造函数,它就会很好地编译Java文件。我唯一的问题是,命令提示符将要求我包含一个main。在包含main之后,所有14-26个错误都出现在与构造函数,实例变量和命令相关的所有内容中。
我确定明天我没有完成这个计划。 :(
答案 0 :(得分:2)
您无法在另一种方法中编写方法。在MAIN方法体外编写所有方法
让它更清晰看看这个
class Employee{
String fname,lname;
double salary;
static void main()
{/*body of main*/}
public Employee()
{/*body of constructor*/}
void func1()
{/*body of func1*/}
}//End of Class
答案 1 :(得分:0)
不要在main方法中创建一个构造函数,它应该在类中声明为方法本身以及其他方法,包括你的访问器和mutator方法(get和set方法)看看这段代码:
public static void main( String[] args )
{
// should introduce and initialize the constructor Employee
public Employee( String fName, String lName, double empSalary )
{
FirstName = fName;
LastName = lName;
Salary = empSalary;
}
此代码应如下所示:
public Employee( String fName, String lName, double empSalary )
{
FirstName = fName;
LastName = lName;
Salary = empSalary;
}
public static void main( String[] args )
{
}
这适用于您创建的所有其他方法。您不能在您创建的任何其他方法中声明您编写的方法。您可以使用对象来调用方法,或者如果它们是静态方法,则可以使用类名来调用方法。您应该阅读创建类的对象并使用它们来调用方法。希望这可以帮助。通常在创建方法时调用构造函数。
Basically, all you have to do to make the program run is highlight all the methods in the main
`class, then cut it, then paste it in the class
but outside the main method` an your code should run properly.