- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Java 初学者,当我尝试运行我的程序时感到困惑......编译后显示编译成功但是当我尝试运行它时,它就会向我显示这条消息。
Exception in thread "main" java.lang.NoSuchMethodError: employee.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;D)V
at academic.<init>(academic.java:19)
at testEmployee.main(testEmployee.java:16)
Process completed.
我创建了一个父类(super class)和 2 个子类。我仍然不确定我的代码,无法自己找到问题。这是我的代码。
员工.java
public class employee {
protected String id;
protected String name;
protected String ic;
protected String tel;
protected double salary;
protected boolean showEmployee;
protected static int count;
public employee(){
id ="A00000";
name = "Michele Wong";
ic = "920412-14-5443";
tel = "014-6667733";
salary = 999.00;
}
public employee(String id, String name, String ic, String tel, double salary, boolean showEmployee) {
this.id = id;
this.name = name;
this.ic = ic;
this.tel = tel;
this.salary = salary;
this.showEmployee = showEmployee;
count++;
}
public void setId(String id){
this.id = id;
}
public String getId(){
return id;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setIc(String ic){
this.ic = ic;
}
public String getIc(){
return ic;
}
public void setTel(String tel){
this.tel = tel;
}
public String getTel(){
return tel;
}
public void setSalary(double salary){
this.salary = salary;
}
public double getSalary(){
return salary;
}
public void setShowEmployee(boolean showEmployee){
this.showEmployee = showEmployee;
}
public boolean getShowEmployee(){
return this.showEmployee;
}
public String toString(){
return getId()+ "\t\t\t" +getName()+ "\t\t" +getIc()+ "\t\t" +getTel()+"\t\t";
}
}
admin.java
public class admin extends employee{
private String position;
private String department;
public admin() {
super();
}
public admin(String id, String name, String ic, String tel, double salary, String position, String department) {
super(id, name, ic, tel, salary);
this.position = position;
this.department = department;
}
public void setPosition(String position){
this.position = position;
}
public String getPosition(){
return position;
}
public void setDepartment(String department){
this.department = department;
}
public String getDepartment(){
return department;
}
public double calculateSalary(){
return super.getSalary() + 100;
}
public void DeleteAdmin(){
}
public String toString(){
return super.toString()+ "\t" +getPosition()+ "\t\t\t" +getDepartment()+ "\t\t\t" +calculateSalary();
}
}
学术.java
public class academic extends employee{
private String subject;
private String school;
public academic(){
super();
}
public academic(String id, String name, String ic, String tel, double salary, String subject, String school){
super(id, name, ic, tel, salary);
this.subject = subject;
this.school = school;
}
public void setSubject(String subject){
this.subject = subject;
}
public String getSubject(){
return subject;
}
public void setSchool(String school){
this.school = school;
}
public String getSchool(){
return school;
}
public double calculateSalary(){
return super.getSalary() + 50;
}
public String toString(){
return super.toString()+ "\t" +getSubject()+ "\t\t" +getSchool()+"\t\t\t" +calculateSalary() ;
}
}
testEmployee.java
import java.util.*;
public class testEmployee {
private static int totalEmployee = 8;
private static int employeeID = 1000;
public static void main(String[]args){
academic[] aca = new academic[4];
aca[0] = new academic("A10001", "Jennifer Lee", "930307-14-5556", "012-3456712", 990.00, "Programming", "SAS");
aca[1] = new academic("A10002", "Harry Tan", "950402-12-2233", "012-1234598", 980.00, "Accounting", "SSH");
aca[2] = new academic("A10003", "Kelvin Woo", "981225-13-1456", "016-5803157", 990.00, "English for Science", "SBS");
aca[3] = new academic("A10004", "Terry Yap", "911030-14-5678", "014-9126534", 990.00, "Java", "SAS");
admin[] admin = new admin[4];
admin[0] = new admin("A10005", "David Foo", "910922-14-9008", "014-1489763", 1000.00, "Head of Division", "SAS");
admin[1] = new admin("A10006", "Danny Choo", "930302-15-4443", "012-0987634", 990.00, "Head of Division", "SAD");
admin[2] = new admin("A10007", "Kelly Tan", "900828-13-3213", "016-8903245", 1100.00,"Head of Division","SOT");
admin[3] = new admin("A10008", "Donald Heng", "900730-12-6789", "016-9823081", 990.00,"Head of Division","SSH");
MainMenu(aca, admin);
}
//Main Menu
public static void MainMenu(employee[] aca,employee[] admin){
Scanner input = new Scanner(System.in);
System.out.println("********************\n");
System.out.println("* MAIN MENU *\n");
System.out.println("********************\n");
System.out.println("1. Display Records \n");
System.out.println("2. Search Employee\n");
System.out.println("3. Add Employee\n");
System.out.println("4. Edit Employee\n");
System.out.println("5. Delete Employee\n");
System.out.println("6. Exit \n");
System.out.print("Please enter your selection: ");
int selection = input.nextInt();
switch(selection){
case 1: Display(aca, admin);
break;
case 2: Search(aca, admin);
break;
case 3: Add(aca, admin);
break;
case 4: Edit(aca, admin);
break;
case 5: Delete(aca, admin);
break;
case 6:
System.out.println("Exiting Menu. \nThank you for using the system.");
System.exit(3);
break;
default:
System.out.println(" Wrong input!\n");
System.out.println(" Please re-enter \n");
System.out.println("Press Any Key To Continue...");
input.nextLine();
input.nextLine();
MainMenu(aca, admin);
break;
}
}
//Display Menu
public static void Display(employee[] aca,employee[] admin){
Scanner input = new Scanner(System.in);
System.out.println("********************\n");
System.out.println("* DISPLAY MENU *\n");
System.out.println("********************\n");
System.out.println("1. ACADEMIC \n");
System.out.println("2. ADMINISTRATIVE \n");
System.out.println("3. EXIT \n");
System.out.print("Please enter your selection: ");
int selection = input.nextInt();
switch(selection){
case 1: AcaDisplay(aca, admin);
break;
case 2: AdminDisplay(aca, admin);
break;
default:
System.out.println(" Wrong input!\n");
System.out.println(" Please re-enter \n");
System.out.println("Press Any Key To Continue...");
input.nextLine();
input.nextLine();
MainMenu(aca, admin);
break;
}
}
//Display Academic Employee Details
public static void AcaDisplay(employee[] aca,employee[] admin){
Scanner input = new Scanner(System.in);
System.out.println("Employee ID \t Employee Name \t\t Employee IC \t Employee Phone Number \t Subject \t\t School \t Salary ");
for(int i=0; i <totalEmployee; i++){
System.out.println(aca[i].toString());
}
System.out.print("Continue?(Y/N) ");
char choice = input.next().charAt(0);
if(choice == 'y' || choice == 'Y'){
MainMenu(aca, admin);
}
else if(choice == 'n' || choice == 'N'){
System.out.println("Exiting Menu. \nThank you for using the system.");
System.exit(3);
}
else {
System.out.print("\nWrong input. \n Please re-type.");
AcaDisplay(aca,admin);
}
}
//Display Admin Employee Details
public static void AdminDisplay(employee[] aca,employee[] admin){
Scanner input = new Scanner(System.in);
System.out.println("Employee ID \t Employee Name \t Employee IC \t Employee Phone Number \tEmployee Position \t\t Department \tSalary ");
for(int i=0; i <totalEmployee; i++){
System.out.println(admin[i].toString());
}
System.out.print("Continue?(Y/N) ");
char choice = input.next().charAt(0);
if(choice == 'y' || choice == 'Y'){
MainMenu(aca, admin);
}
else if(choice == 'n' || choice == 'N'){
System.out.println("Exiting Menu. \nThank you for using the system.");
System.exit(3);
}
else {
System.out.print("\nWrong input. \n Please re-type.");
AdminDisplay(aca,admin);
}
}
//Search Employee
public static void Search(employee[] aca,employee[] admin){
Scanner input = new Scanner(System.in);
System.out.print("Enter Employee ID: ");
String search = input.nextLine();
for(int i=0; i<totalEmployee; i++){
if(aca[i].getId() == search){
System.out.println("Employee ID \t Employee Name \t\t Employee IC \t Employee Phone Number \t Subject \t\t School \t Salary ");
System.out.println(aca[i].toString());
}
else if(admin[i].getId() == search){
System.out.println("Employee ID \t Employee Name \t Employee IC \t Employee Phone Number \tEmployee Position \t\t Department \tSalary ");
System.out.println(admin[i].toString());
}
else {
System.out.print("\nWrong input. \n Please re-type.");
Search(aca,admin);
}
}
}
//Add Employee
public static void Add(employee[] aca,employee[] admin){
Scanner input = new Scanner(System.in);
System.out.println("********************\n");
System.out.println("* DISPLAY MENU *\n");
System.out.println("********************\n");
System.out.println("1. ACADEMIC \n");
System.out.println("2. ADMINISTRATIVE \n");
System.out.println("3. EXIT \n");
System.out.print("Please enter your selection: ");
int selection = input.nextInt();
if(selection == 1)
System.out.println("Academic");
else
System.out.println("Administrative");
Scanner add = new Scanner(System.in);
char choice;
do{
System.out.print("\nEnter New Employee ID :");
String newID = add.nextLine();
System.out.print("Enter New Employee Name :");
String newName = add.nextLine();
System.out.print("Enter New Employee IC :");
String newIC = add.nextLine();
System.out.print("Enter New Employee Phone Number :");
String newPhoneNumber = add.nextLine();
System.out.print("Enter New Employee Salary :");
double newSalary = add.nextDouble();
if(selection == 1){
System.out.print("Enter New Employee Subject :");
String newSubject = add.nextLine();
add.nextLine();
System.out.print("Enter New Employee School :");
String newSchool = add.nextLine();
aca[totalEmployee] = new academic(newID,newName,newIC,newPhoneNumber,newSalary,newSubject,newSchool);
System.out.print(aca[totalEmployee].toString());
}
else{
System.out.print("Enter New Employee Position :");
String newPosition = add.nextLine();
add.nextLine();
System.out.print("Enter New Employee Department :");
String newDepartment = add.nextLine();
admin[totalEmployee] = new academic(newID,newName,newIC,newPhoneNumber,newSalary,newPosition,newDepartment);
System.out.print(admin[totalEmployee].toString());
}
System.out.print("\nDo you want to add more ? (Y/N)");
choice = add.next().charAt(0);
}while(choice == 'Y' || choice == 'y');
MainMenu(aca, admin);
}
//Edit Employee
public static void Edit(employee[] aca,employee[] admin){
Scanner input = new Scanner(System.in);
System.out.print("Enter the employee's ID");
String id = input.nextLine();
for(int i=0; i<totalEmployee; i++){
if(aca[i].getId() == id){
String AcaID = aca[i].getId();
System.out.print("Enter employee's name: ");
String name = input.nextLine();
System.out.print("Enter employee's IC number(eg.930302-14-5434): ");
String IC = input.nextLine();
System.out.print("Enter employee's Phone Number: ");
String tel = input.nextLine();
System.out.print("Enter the Salary: ");
double salary = input.nextDouble();
System.out.print("Enter the Subject: ");
String subject = input.nextLine();
System.out.print("Enter the School: ");
String school = input.nextLine();
admin[i] = new academic(id,name,IC, tel, salary, subject, school);
}
else if(admin[i].getId() == id){
String AdminID = admin[i].getId();
System.out.print("Enter employee's name: ");
String name = input.nextLine();
System.out.print("Enter employee's IC number(eg.92030-10-55588): ");
String IC = input.nextLine();
System.out.print("Enter employee's Phone Number: ");
String tel = input.nextLine();
System.out.print("Enter the Salary: ");
double salary = input.nextDouble();
System.out.print("Enter employee's position: ");
String position = input.nextLine();
System.out.print("Enter employee's department: ");
String department = input.nextLine();
admin[i] = new academic(id,name,IC, tel, salary, position, department);
}
else {
System.out.print("\nThis ID does not exist. \n Please re-type.");
Edit(aca,admin);
}
}
}
//Delete Employee
public static void Delete(employee[] aca,employee[] admin){
Scanner input = new Scanner(System.in);
System.out.print("Enter the employee's ID");
String delete = input.nextLine();
//int deleteEMP = Integer.parseInt(input);
for(int i=0; i<totalEmployee; i++){
if(aca[i].getId() == delete){
aca[i].setShowEmployee(false);
}
else if(admin[i].getId() == delete){
admin[i].setShowEmployee(false);
}
else {
System.out.print("\nWrong input. \n Please re-type.");
Delete(aca,admin);
}
}
}
}
最佳答案
Employee
有两个构造函数:一个不带参数,另一个带 4 个字符串、一个 double 值和一个 boolean 值。
在academic
的第19行中,您尝试使用4个字符串和一个 double 值但没有 boolean 值来调用super
(即employee
)。由于 employee
中没有这样的构造函数,因此您会收到错误。
这段代码不应该编译。事实上,它确实表明您在编译过程中做了一些奇怪的事情。尝试从头开始编译所有内容,看看是否出现编译错误。
关于java - 编译成功但运行时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13606089/
我正在使用 jQuery 的 $.ajax 函数来提交表单,它可以工作,但成功正是我遇到问题的地方。这是我的代码: $("#form").submit(function () { $.
我正在使用动态分页。 我需要在开始另一个事件之前取消 jQuery ajax 中的 success 事件。 我已经设置了一个等于$.ajax()的变量,在这样做之前,无论如何我都会调用abort。 问
如果我错了,请纠正我,但我对 $.post 成功/失败的理解是,如果 url 有效,这将返回成功。唯一会返回失败的情况是 url 无效。 如果这是真的,我如何验证成功函数?我问的原因是无论发生什么,即
HANDLE hFile = CreateFile(LPCTSTR("filename"), // name of the write
我正在使用以下代码发送短信。但这似乎不会在未发送短信时产生异常。例如,当没有足够的钱发送时,我仍然会去 smsSucces();有没有人知道解决此问题的方法以确保它已发送? private b
我正在尝试将字符串转换为 DateTime,在一台计算机上,它工作正常,但在另一台计算机上,它却不行!它运行的计算机运行的是 32 位 Windows 7,它不运行的计算机运行的是 64 位 Wind
我在页面上使用表单让用户输入将用于各种目的的图像的 url。我正在编写一个 ajax 方法来确定他们提供的 url 是否实际上是图像。到目前为止,我已经这样做了: $(document).on('re
我在 jquery 中对 php 脚本进行 ajax 调用。但是 php 脚本需要返回什么才能触发 ajax 中的成功/错误处理程序。所以这是 ajax: $.ajax({ data:
几个简单的问题: 对于 native 和 Flash/Silverlight 垫片来说,成功事件是“规范化”事件吗?记录的示例表明它仅适用于 Flash/Silverlight 对象准备就绪的情况。
这个问题不太可能对任何 future 的访客有帮助;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于互联网的全局受众。如需帮助使这个问题更广泛适用,visit the h
我尝试使用新的 Groovy Grape Groovy 1.6-beta-2 中的功能,但我收到一条错误消息; unable to resolve class com.jidesoft.swing.J
我正在使用 sequelize/nodejs/express/react 将实体持久化到 postgres 数据库 我有两个主要模型,国家和事件,我正在使用该应用程序,并且有一个名为“保存到数据库”的
我有以下代码,其中有 2 个电子邮件输入字段,我需要验证它们是否相同,并且使用 jQuery validate equalTo 成功运行。 Email Address
我正在尝试找出解决此问题的正确方法。 假设我们有一家元素商店。这些项目可以编辑、删除和创建。编辑或添加项目时,路线更改为/item/add 或/item/edit/{id}。 在 saga 成功添加或
这个问题已经有答案了: How do I return the response from an asynchronous call? (42 个回答) 已关闭 8 年前。 我有这段代码,警报工作正常
Closed. This question needs to be more focused。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅关注editing this post的一个问题。
我想在单击超链接 (.remove_resort) 时(成功的 ajax 调用后)删除超链接的(父)跨度。 虽然ajax调用成功,但是最后span并没有被移除。这里出了什么问题? 请记住:有几个类
我正在编写一个非常简单的程序来将鼠标剪辑到指定的窗口。它从系统托盘运行,没有可见窗口。由于同一窗口会有多个实例,因此它使用 EnumWindows() 迭代每个顶级窗口,并将它们的 hwnd 与 Ge
我正在尝试找出如何执行 if 语句,以便如果玩家的击球率超过 0.250,则会为成功的 tr 添加一个类别。 我发现了以下堆栈问题,但我不确定可以使用或应该使用哪种方式以及如何使用这些堆栈问题。 ht
我是 Prolog 的新手,我正在尝试解决这个练习: Define a predicate greater_than/2 that takes two numerals in the notation
我是一名优秀的程序员,十分优秀!