简体   繁体   English

Java系统不止一次println打印

[英]Java system out println printing more than once

does anyone know why "Wrong!!!" 有谁知道为什么“错!!!” is printing out 6 times? 正在打印6次? Is this something to do with my array list as it contains 6 person ticket details in it. 这与我的阵列列表有关吗,因为它包含6人票证详细信息。 Thank-you in advance... 先感谢您...

public class Method1 {

public static void main(String[] arg) {
        Method1 sc = new Method1();
        sc.run();
    }

    private void run() {
        PersonData p = new PersonData();
        List<PersonType> personDetailsList = (List<PersonType>) p.getList();
        int input;
        try {
            do {
                Scanner in = new Scanner(System.in);
                System.out.println("Enter person ticket number");
                input = in.nextInt();
                for (PersonType q : personDetailsList) {
                    if (q.getPersonNumber() == input) {
                        System.out.println("Person Ticket Number: " + q.getPersonNumber() + "\n" 
                                + "Person Ticket Name: " + q.getPersonName() + "\n");
                        break;
                    }

                    else if (q.getPersonNumber() != input) {
                    System.out.println("Wrong!!!");     

                    }
                }
            } while (input != -1);
            System.out.println("Bye");
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

try this 尝试这个

private void run() {
        PersonData p = new PersonData();
        List<PersonType> personDetailsList = (List<PersonType>) p.getList();
        int input;
        boolean flag = false;
        try {
            do {
                Scanner in = new Scanner(System.in);
                System.out.println("Enter person ticket number");
                input = in.nextInt();
                for (PersonType q : personDetailsList) {
                    if (q.getPersonNumber() == input) {
                        System.out.println("Person Ticket Number: " + q.getPersonNumber() + "\n" 
                                + "Person Ticket Name: " + q.getPersonName() + "\n");
                        flag=true;                           
                        break;
                    }
                }
                if(!flag){
                    System.out.println("Wrong!!!");     
                }
            } while (input != -1);
            System.out.println("Bye");
        } catch (Exception e) {
            System.out.println(e);
        }
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM