System.out.print不显示客户数据

时间:2019-05-12 15:52:11

标签: java

我正在编写一个客户端数据库。我想根据客户编号知道客户的姓名和家乡。当我输入2时,我想看到爱丁堡的艾莉亚·史塔克(Arya Stark);当我输入1时,我想看到伦敦的乔恩·斯诺(Jon Snow)。为什么我的程序不起作用?该如何解决?

package app;

import java.util.Scanner;

class Person {
    String name;
    String homeCity;
    int customerNumber;
}

public class Customers {
    static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {

        String name;

        System.out.print ("Give a customer card number: ");
        name = input.next();

        Person person1 = new Person();
        person1.name = "Jon Snow";
        person1.homeCity = "London";
        person1.customerNumber = 1;

        Person person2 = new Person();
        person2.name = "Arya Stark";
        person2.homeCity = "Edinburgh";
        person2.customerNumber = 2;

        System.out.println();
    }

}

1 个答案:

答案 0 :(得分:0)

这应该有效:

class Person {
    private String name;
    private String homeCity;
    private int customerNumber;

    public Person(String name, String homeCity, int customerNumber) {
      this.name = name;
      this.homeCity = homeCity;
      this.customerNumber = customerNumber;
    }

    public boolean isMatch(int num) {
      return num == customerNumber;
    }

    @Override
    public String toString() {
      return name + " from " + homeCity; 
    }
}

import java.util.Scanner;

class Main {

    private static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {

        Person person1 = new Person("Jon Snow", "London", 1);
        Person person2 = new Person("Arya Stark", "Edinburgh", 2);

        while(true) {
            System.out.print("Give a customer card number: ");
            String num = input.next();

            if (person1.isMatch(Integer.parseInt(num))) {
                System.out.println(person1);
            } else if (person2.isMatch(Integer.parseInt(num))) {
                System.out.println(person2);
            } else {
                System.out.println("Not found");
            }
        }
    }
}