2013-10-20 17 views
0

每次我運行這個程序來創建一個新的對象時,它應該從1000開始,每次創建時都會增加一個。如何增加這個數組的個數的獨立計數。增加一個不帶有起始值的對象的「ID」計數(java)

每次現在我運行它輸出爲1000的ID爲每個

程序請儘可能我不明白Java中也簡單。感謝

主程序

import javax.swing.JOptionPane; 

public class useConcert { 

private static Concert[] concert = new Concert[100]; 
    private static int numConcert = 0; 

public static void main (String[] args){ 
    String userInput = ""; 
    boolean testResult; 

    do { 

     userInput = mainMenu(); 

     if (userInput.equals("1")) { 
     do{ 
      String artist = getStringInput("Artist or Group name?"); 
      int month = getIntegerInput("Enter month in XX format "); 
      int day = getIntegerInput("Enter day in XX format "); 
      int year = getIntegerInput("Enter year in XXXX format"); 
      int ticketCost = getIntegerInput("Enter cost per ticket ($25 - $250)"); 
      int quantTickets = getIntegerInput("Enter Number of tickets available (Max 10,000)"); 
      int concertId = 1000;  
      concert[numConcert++] = new Concert(artist,quantTickets,ticketCost,month,day,year,concertId); 
     }while (JOptionPane.showConfirmDialog(null, "Add another concert?")==JOptionPane.YES_OPTION); 
     } else if (userInput.equals("2")) { 
     listConcert(); 
     } 
    } while (!userInput.equals("0")); 


    public static String concertList(){ 
    String outputString = ""; 
    for (int idx =0; idx < numConcert; idx++){ 
     outputString += concert[idx].shortString() + "\n"; 
    } 
    return outputString; 
    } 

    public static void listConcert() { 
    EZJ.dialog(concertList()); 
    } 
    } 

public class Concert { 
private String artist = ""; 
private int quantTickets = 0; 
private int ticketCost = 0; 
private int month = 0; 
private int day = 0; 
private int year = 0; 
private int numConcert = 0; 
private int concertId = 1000; 

public Concert(String artist, int quantTickets, int ticketCost, int month, int day, int year, int concertId){ 
    this.artist = artist; 
    this.quantTickets = quantTickets; 
    this.ticketCost = ticketCost; 
    this.month = month; 
    this.day = day; 
    this.year = year; 
    this.concertId = concertId; 
} 

public void setConcertId (int concertId){ 
     concertId++; 
    this.concertId = concertId; 
    } 

public String shortString(){ 
    return " " + artist + " " + getConcertId(); 
} 

回答

1

沒有理由保持音樂會ID從陣列計數分離。事實上,陣列數將是一個非常好的音樂會ID。您只需修改此行即可閱讀:

concert[numConcert++] = new Concert(artist, quantTickets, ticketCost, month, day, year, numConcert); 
+0

即使您未來必須能夠通過演唱會ID進行搜索,您還是可以使用該功能嗎? – Makominami

+0

其實,在這一點上,我認爲沒有必要設立音樂會ID。如果你需要它,你可以使用數組索引。 – tbodt

+0

但是,你如何在1000開始數組索引? – Makominami

相關問題