2017-10-14 26 views
-2

初めて相互にやり取りする複数のクラスを使用しようとしています。作業。if(search)==を使用してエラー検索を行う複数のクラスが変数に解決できない

私の意図は、Employee.javaで、addEmployee()を使用して従業員のIDと詳細を入力し、次にaddQual()を実行します。従業員に資格を追加するQualification.javaにあります。

if(search == Employee.idArray) 
    return; 

私は上記のコードをaddQual()に使用しようとしています。 Employees.javaから従業員のIDを取得しても動作しません。 Qualification.java [行:28]エラー:検索を変数に解決できません。

私はこの時点で立ち往生しており、多くの進歩の助けと洞察力を大いにありがたくありがとうと思います。

Employee.java

import java.util.*; 

public class Employee 
{ 
    final static int MAX=20; 
    public static String [] firstnameArray= new String[MAX]; 
    public static String [] lastnameArray= new String[MAX]; 
    public static String [] positionArray= new String[MAX]; 
    public static int [] salaryArray= new int[MAX]; 
    public static int [] idArray= new int[MAX]; 
    public static int count=0; 

    public static void add(int id, String fname, String lname, String position, int salary) 
    { 
    idArray[count] = id; 
    firstnameArray[count] = fname; 
    lastnameArray[count] = lname; 
    positionArray[count] = position; 
    salaryArray[count] = salary; 
    ++count; 
    } 

    public static void addEmployee() 
    { 
    Scanner sc=new Scanner(System.in);  
    for(int i=0; i<idArray.length; i++) 
    { 
     System.out.println("Enter employee id as an integer"); 
     System.out.print(" (0 to finish): "); 
     int id = sc.nextInt(); 
     sc.nextLine(); 
     if (id==0) 
     return; 

     System.out.println("Enter employee First name"); 

     String fname = sc.nextLine(); 

     System.out.println("Enter employee Last name"); 

     String lname = sc.nextLine(); 

     System.out.println("Enter employee position"); 

     String position = sc.nextLine(); 

     System.out.println("Enter employee yearly salary"); 

     int salary = sc.nextInt(); 

     add(id, fname, lname, position, salary); 
    } 

Qualification.java

import java.util.*; 

public class Qualification{ 

    final static int MAX=20; 
    public static String[] qNamearray = new String[MAX]; 
    public static int[] employeeIdarray = new int[MAX]; 
    public static int[] qDurationarray = new int[MAX]; 
    public static int count = 0; 

    public static void add(int employeeId, String qName, int qDuration) 
    { 
    employeeIdarray[count] = employeeId; 
    qDurationarray[count] = qDuration; 
    qNamearray[count] = qName; 
    ++count; 
    } 

    public static void addQual() 
    { 
    Scanner sc=new Scanner(System.in);  
    for(int i=0; i<employeeIdarray.length; i++) 
    { 
     System.out.println("Enter employee id as an integer"); 
     System.out.print(" (0 to finish): "); 
     int employeeId = sc.nextInt(); 
     sc.nextLine(); 
     if(search == Employee.idArray) 
     return; 

     System.out.println("Enter employee qualification"); 

     String qName = sc.nextLine(); 

     System.out.println("Enter employee qualification duration"); 

     int qDuration = sc.nextInt(); 

     add(employeeId, qName, qDuration); 
    } 
+0

エラーは何ですか? – Lokesh

+3

あなたは変数 'search'を宣言したことはありませんでしたので、ここで何が起こると思いますか? – Tom

+0

どうしたらうまくいかないのですか?エラーはありますか?期待される結果は何ですか? [最小限の、完全で検証可能な例](https://stackoverflow.com/help/mcve)を入力してください。 – Mark

答えて

1
if(search == Employee.idArray) 
    return; 

上記のコードは、任意の有用な論理分岐をやっているようには見えません(それだけで抜けます推奨されないロギング/メッセージのない方法)。また、search変数が宣言されていないため、エラーが発生します。

このコードブロックを削除してメソッドを再実行することをお勧めします。

関連する問題