2017-12-04 3 views
0

の最後のステートメントを実行します。別の役割の位置に正しい/間違ったユーザーIDまたはパスワードを入力してもadmin.javaオープン他人の文私はコードを実行すると、常に最後のステートメント(管理者)を実行するときに、

Scanner input1 = new Scanner(System.in); 
System.out.println("User ID : "); 
String salesid = input1.next(); 
Scanner input2 = new Scanner(System.in); 
System.out.println("Password : "); 
String salespass = input2.next(); 

String smposition = "SM"; 
String pmposition = "PM"; 
String adposition = "AD"; 
{ 
    try 
    { 
     String line; 
     File f = new File("UserDetails.txt"); 
     input1 = new Scanner(f); 
     while(input1.hasNextLine()) 
     { 
      String Line = input1.nextLine(); 
      String[] Seperator = Line.split(","); 

      if(salesid.equals(Seperator[0]) && salespass.equals(Seperator[3]) && smposition.equals(Seperator[2]) || pmposition.equals(Seperator[2]) || adposition.equals(Seperator[2])) 
      { 
       if (smposition.equals(Seperator[2])) 
       { 
        System.out.println("login successfull"); 
        salesmanager ss = new salesmanager(); 
        ss.sale(); 
       } 
       else if(pmposition.equals(Seperator[2])) 
       { 
        System.out.println("login successfull"); 
        purchasemanager pm = new purchasemanager(); 
        pm.purchase(); 
       } 
       else if(adposition.equals(Seperator[2])) 
       { 
        System.out.println("login successfull"); 
        admin ad = new admin(); 
        ad.adm(); 
       } 
      } 
     } 
    } 
    catch(IOException e) 
    { 
    } 
} 
+0

値とダブルチェックを印刷してみてください –

+3

Java命名規則についてお読みください。変数名は常にcamelCaseになります。決して空のキャッチブロックを持ってはいけません。あなたはそれを無視するためにエラーに陥っています。次に、**解析ロジックをコードから分離して、結果と何かをしたいと思うでしょう。 – GhostCat

+3

次回はコードを正しくインデントしてください。 – khelwood

答えて

0

if(salesid.equals(Seperator[0]) && salespass.equals(Seperator[3]) && (smposition.equals(Seperator[2]) || pmposition.equals(Seperator[2]) || adposition.equals(Seperator[2]))) 

ノートに||条件の周りに余分な括弧をあなたの場合は条件を変更して

関連する問題