簡體   English   中英

java如何在達到最大數量時停止

[英]java how to stop when maximum number reached

我正在做通訊錄信息,只想添加最多 20 個聯系人,但它最多只能添加 10 個聯系人,有什么幫助嗎?

public class Book {

    public static void main(String[] args) {
        List<Contact> lsCont = new ArrayList<Contact>();
        Contact[] contacts = new Contact[20];
        Scanner scanner = new Scanner(System.in);
        String firstName;
        String lastName;
        String phone;
        String email;

        for (int i = 0; i < contacts.length; i++) {
            System.out.println("insert first name : ");
            firstName = scanner.nextLine();
            System.out.println("insert last Name : ");
            lastName = scanner.nextLine();
            System.out.println("insert phone : ");
            phone = scanner.nextLine();
            System.out.println("insert email : ");
            email = scanner.nextLine();

            Contact cont = new Contact(firstName, lastName, phone, email);

            lsCont.add(cont);

            Collections.sort(lsCont);
            i++;
            for (Contact contact : lsCont) {
                System.out.println(contact.toString());

            }
            if (i == contacts.length) {
                System.out.println("maxiumum number of adding contact has reached");
                break;
            }
        }

    }
}

您在for循環中兩次增加變量i的值,導致它每次增加 2 這會導致 for 循環只運行一半 要解決此問題,您可以簡單地刪除第二個i++

另外,為了更清楚,我建議創建一個int變量maxContacts ,然后用變量maxContacts替換括號內的“20”,並編寫maxContacts而不是contacts.length以使代碼更清晰易讀!

你增加i兩次。 刪除 for 循環體中的i++

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM