2015-11-23 30 views
0

我試圖從TUI類訪問我的arrayList類中的(添加)方法,這會將用戶添加到我的arrayList中。從TUI類的數組列表中使用方法

這是我的TUI類。

import java.util.ArrayList; 
import java.util.Scanner; 

public class BorrowerTUI 
{ 

private BorrowerList borrowerList; 
private Scanner myScanner; 


public BorrowerTUI() 
{ 
    myScanner = new Scanner(System.in); 
    BorrowerList borrowerList = new BorrowerList(); 
} 

public void menu() 
{ 
int command = -1; 
while (command != 0) 
{ 
    displayMenu(); 
    command = getCommand(); 
    execute (command); 
} 
} 



private void displayMenu() 
{ 
System.out.println("Options are"); 
System.out.println("Enter 1"); 
System.out.println("Enter 2"); 
System.out.println("Enter 3"); 
System.out.println("Enter 4"); 

} 

private void execute(int command) 
{ 
if (command == 1) 
    addBorrower(); 
else 
if (command == 2) 
    getNumberOfBorrowers(); 
else 
if (command == 3) 
    quitCommand(); 
else 
if (command == 4) 
    quitCommand(); 
else 
if (command == 5) 
    quitCommand(); 
else 
    System.out.println("Unknown Command"); 
} 


private int getCommand() 
{ 
    System.out.print ("Enter command: "); 
    int command = myScanner.nextInt(); 
    myScanner.nextLine(); 
    return command; 
} 

public void getNumberOfBorrowers() 
{ 
    int command = myScanner.nextInt(); 
    System.out.println("We have" + borrowerList.getNumberOfBorrowers() + "borrowers"); 
} 

public void quitCommand() 
{ 
    int command = myScanner.nextInt(); 
    System.out.println("Application Closing"); 
    System.exit(0); 
} 


public void addBorrower() 
{ 
    Borrower borrower = new Borrower(); 
    borrowerList.addBorrower(borrower); 
} 
} 

這是我的數組列表類。

import java.util.ArrayList; 

public class BorrowerList 
{ 
    private ArrayList<Borrower> borrowers;  


    public BorrowerList() 
    { 
     borrowers = new ArrayList<Borrower>(); 
    } 

    public void addBorrower(Borrower borrower) 
    { 
     borrowers.add(borrower); 
    } 

    public int getNumberOfBorrowers() 
    { 
     return borrowers.size(); 
    } 

    public boolean getBorrower(String libraryNumber) 
    { 
     for(Borrower borrower : borrowers) 

     borrower.getLibraryNumber(); 
     return true; 
    } 

    public void getBorrower(int borrowerEntry) 
    { 
     if (borrowerEntry < 0) 
     { 
      System.out.println("Negative entry: " + borrowerEntry); 
     } 
     else if (borrowerEntry < getNumberOfBorrowers()) 
     { 
      Borrower borrower = borrowers.get(borrowerEntry); 
      borrower.printBorrowerDetails(); 
     } 
     else 
     { 
      System.out.println("No such entry: " + borrowerEntry); 
     } 
    } 

    public void getAllBorrowers() 
    { 
     for(Borrower borrower : borrowers) 
     { 
      borrower.printBorrowerDetails(); 
      System.out.println(); 
     } 
    } 

    public void removeBorrower(int borrowerEntry) 
    { 
     if(borrowerEntry < 0) 
     { 
      System.out.println("Negative entry :" + borrowerEntry); 
     } 
     else if(borrowerEntry < getNumberOfBorrowers()) 
     { 
      borrowers.remove(borrowerEntry); 
     } 
     else 
     { 
      System.out.println("No such entry :" + borrowerEntry); 
     } 
    } 

    public boolean removeBorrower(String libraryNumber) 
    { 
     int index = 0; 
     for (Borrower borrower: borrowers) 
     { 
      if (libraryNumber.equals(borrower.getLibraryNumber())) 
      { 
       borrowers.remove(index); 
       return true; 
      } 
      index++; 
     } 
     return false; 
    } 


    public int search(String libraryNumber) 
    { 
     int index = 0; 
     for (Borrower borrower : borrowers) 
     { 
      if (libraryNumber.equals(borrower.getLibraryNumber())) 
      { 
       return index; 
      } 
      else 
      { 
       index++; 
      } 
     } 
     return -1; 
    }  
} 

但由於某些原因,當我嘗試使用的代碼頂部,它返回的錯誤在我的TUI類鏈接這種方法:「預計‘用戶’之後)」

有人可以幫助, 謝謝。

+1

從方法調用中刪除該類型。 – csmckelvey

+0

它是編譯錯誤還是運行時異常?錯誤發生的地方是什麼? –

+0

發生錯誤的行位於'userList.adduser(用戶用戶)'上,這是一個編譯錯誤,顯然錯誤是在第一個'用戶'之後,它說'')是預期的。 –

回答

0

它正在返回一個錯誤,因爲addUser方法需要一個User對象作爲輸入。在你的函數調用中,你給它的用戶類型就好像你在聲明一個方法。嘗試僅傳入用戶對象,如下所示:

public void addUser() 
{ 
    User user = new User(); 
    userList.addUser(user); 
} 
+0

我改變了我的代碼,因爲你建議,但我現在得到一個錯誤'沒有找到合適的構造函數發現借款人(沒有參數)「 –

+0

該錯誤正在被拋出,因爲沒有構造函數爲您的用戶對象,沒有參數。你使用的用戶類是什麼樣的?你有一個在TUI類中初始化的User對象嗎? – Jason

+0

不幸的是,我無法複製課程,因爲它說它太長了。我會修改我原來的帖子並添加完整的代碼。 –

相關問題