java - 为什么我的程序显示不超过一行数据

标签 java

我尝试输入多个联系人,但它只显示第一个联系人。我输入一个名字,然后输入一个数字。我同意有另一个联系人,然后输入第二个名字和号码。现在我说不再有联系人,它只打印第一个联系人。我需要能够打印我的所有联系人。

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/

相关文章:

java - 获取鼠标位置

java - Jsch ssh 到 Raspberry Pi 不执行任何操作

java - 使用 Maven 从依赖 jar 中排除资源

java - Dagger 可以在不注入(inject)子 Activity 类的情况下注入(inject)抽象 Activity 类吗?

java - 在Android服务中触发语音识别

java - 收集到 Multimap 并保留顺序

java - 失败 [INSTALL_FAILED_ALREADY_EXISTS : Attempt to re-install io. appium.settings 没有先卸载。]

java - 无法验证集成测试用例中的日期类型

java - Bootstrap 追加 div

java - 在java中填充通用数组