2017-05-30 32 views
0

所以我有一個Arraylist持有一個類,如下面的代碼所示。打印數組列表中的特定部分

NewStorage.java是文件名包含以下

package postit; 

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

public class NewStorage extends NoteInfomation { 

    Scanner inputID = new Scanner(System.in); 
    Scanner NoteID = new Scanner(System.in); 

    int count = 0; 

    ArrayList<NoteInfomation> Note = new ArrayList<NoteInfomation>(20); 

    public void printinfo() { 
     System.out.println("--- Fill note here ---"); 
    } 

    public void Notestore() { 

     System.out.println("Enter the note ID you wish to attach the note with\n\n"); 
     inputIDnote = inputID.nextLine(); 
     System.out.println("Enter your note\n\n"); 
     noteDescription = NoteID.nextLine(); 
     System.out.println("" + inputIDnote); 
     System.out.println("" + noteDescription); 
    } 

    public void PrintNotes() { 

     for (int i = 0; i < Note.size(); i++) { 
      System.out.println(" " + Note.get(i)); 

     } 
    } 
} 

所示的代碼請看下面

package postit; 

import java.util.Scanner; 

public class Postit { 

    public static void main(String[] args) { 
     int MenuOption = 0; 

     NewStorage G = new NewStorage(); // Case 1 Object 

     while (MenuOption != 3) { 

      System.out.println(
        "\n--------Note System-------\n" + 
          "----------------------------\n" + 
          "1. Create a Note \n" + 
          "2. View Notes \n" + 
          "3. Close Program\n" + 
          "----------------------------\n" 
      ); 

      Scanner menu = new Scanner(System.in); 
      MenuOption = menu.nextInt(); 

      switch (MenuOption) { 
       case 1: 
        G.printinfo(); 
        G.Notestore(); 
        break; 
       case 2: 
        G.PrintNotes(); 
        break; 
       case 3: 
        System.out.println("Program is closing"); 
        System.exit(0); 
        break; 
       default: 
        System.out.println("Invalid choice."); 
        break; 
      } 
     } 
    } 
} 

命名Postit.java主文件最後,這是note.java文件,其中包含了NoteInfomation用於數組的類。

package postit; 

class NoteInfomation { 
    String inputIDnote; 
    String noteDescription; 
} 

所以,我的問題是,如圖所示的代碼程序應該問他們想得分配自己的筆記內容記ID的用戶。然後用戶可以通過輸入相應的筆記ID來查看他們創建的筆記。理想情況下,當我建立在程序上時,我還希望程序讓用戶從之前創建的ID列表中選擇,以記住創建的筆記的ID,這不是問題。提前致謝。

+2

你的問題不清楚。期望的行爲/輸出是什麼? – SomeDude

+0

對不起,輸出應該是一樣的東西,一旦用戶在切換案例菜單中選擇案例2,然後它應該顯示一個編號的列表中創建的所有ID。然後,一旦選擇了它,它將顯示相應的音符。 –

+0

「最後這是包含NoteInfomation類的note.java文件」類名不能與文件名不同。你的文件是'note.java' - >那麼你的類必須是'note' –

回答

1

代碼中有很多錯誤。您沒有在Notestore()方法中存儲任何註釋。 PrintNode()也不起作用。

更改您的代碼是這樣的..

NoteInfomation.java

class NoteInfomation { 
    String inputIDnote; 
    String noteDescription; 
    public NoteInfomation(String inputIDnote, String noteDescription) { 
     this.inputIDnote = inputIDnote; 
     this.noteDescription = noteDescription; 
    } 
    @Override 
    public String toString() { 
     return "Id:" + inputIDnote + ", Description: " + noteDescription; 
    } 
} 

Nodestore()方法...

public void Notestore() { 

    System.out.println("Enter the note ID you wish to attach the note with\n\n"); 
    String inputIDnote = inputID.nextLine(); 
    System.out.println("Enter your note\n\n"); 
    String noteDescription = inputID.nextLine(); //No need for two scanner 
    System.out.println("" + inputIDnote + "\n" + noteDescription); 
    Note.add(new NoteInfomation(inputIDnote, noteDescription)); 
} 

PrintNotes()方法

public void PrintNotes() { 

    for (int i = 0; i < Note.size(); i++) { 
     System.out.println(" " + Note.get(i).toString()); 

     //**or you can also use this 
     // System.out.println("Id:" + Note.get(i).inputIDnote + ", Description: " + Note.get(i).noteDescription); 

    } 
} 

我鼓勵你研究如何ArrayList的作品。

+0

是的,對Java編程來說很新,但我會接受你的建議。謝謝您的幫助。 –