我尝试输入多个联系人,但它只显示第一个联系人。我输入一个名字,然后输入一个数字。我同意有另一个联系人,然后输入第二个名字和号码。现在我说不再有联系人,它只打印第一个联系人。我需要能够打印我的所有联系人。
import java.io.FileNotFoundException;
import javax.swing.JOptionPane;
public class PhoneBook {
public static void main(String[] args) throws FileNotFoundException {
String contact;
int moreContact=1;
int choice = JOptionPane.showConfirmDialog(null, "Do you want to add a new contact?");
int i = 0;
java.io.File c = new java.io.File("contacts.txt");
java.io.PrintWriter b = new java.io.PrintWriter(c);
if (choice == 0) {
do {
String name = JOptionPane.showInputDialog("Contact Name: ");
String number = JOptionPane.showInputDialog("Contact Number: ");
contact=(name + " "+ number);
b.println(contact);
b.close();
moreContact = JOptionPane.showConfirmDialog(null,"Do you have another contact?");
} while (moreContact==0);
}
java.io.File h = new java.io.File("contacts.txt");
java.util.Scanner list = new java.util.Scanner(h);
while (list.hasNext()) {
System.out.println(list.nextLine());
}
}
}
最佳答案
在 do .. while()
循环中接受一个联系人后关闭文件:
b.close();
您看到一位联系人并不奇怪。而是在循环外关闭它。
关于java - 为什么我的程序显示不超过一行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22541807/