[英]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.