简体   繁体   English

打印出客户名称,身份证号,余额

[英]Print out customer name, id, balance

I am writing a Java program that I need: 我正在编写所需的Java程序:

A method to read the customer names and id and store them in an array. 一种读取客户名称和ID并将其存储在数组中的方法。 (Read a sequence of zero or more lines each containing the name and id of one customer. Instantiate one Customer object per line and store each object in an array of objects. The array need not be more than 10 elements long. The sequence of name and id will end with an empty line). (读取零个或多个行的序列,每个行包含一个客户的名称和ID。每行实例化一个Customer对象,并将每个对象存储在对象数组中。该数组的长度不必超过10个元素。 name序列和id将以空行结尾)。

Main 主要

import java.util.Scanner;

public class CustomerTest {
    public static void main(String[] args) {
        Customer[] customers = new Customer[10];
        Scanner myScanner = new Scanner(System.in);
        int numItem;
        readCustomer(myScanner, customers); //not sure about this calling
        readNameAmount(myScanner, customers); ////not sure about this calling
    }
    public static void readCustomer(Scanner myScanner, Customer[] input) {
        boolean streamEnded = false;
        int numItem = 0;
        while (!streamEnded && myScanner.hasNext()) {
            String name = myScanner.nextLine();
            String id = myScanner.nextLine();
            if (name.length() == 0 && id.length() == 0) {
                streamEnded = true;
            } else {
                input[numItem] = name; //error
                input[numItem] = id; //error
            }
            numItem++;
            Customer customerTest = new Customer(name, id);
        }
    }
    public static void readNameAmount(Scanner myScanner, Customer[] input) {
        while (myScanner.hasNext()) {
            String id = myScanner.nextLine();
            double amount = myScanner.nextDouble();
            int i = 0;
            boolean found = false;
            while (i <numItem && !found) { //error
                if (customers[i].equals(id)) { //error
                    changeBalance(double value);//error
                }
                found = true;
                i++;
            }
        }
    } 
    public static void print(Customer[] input, int numItem) {
        for (int i = 0; i < numItem; i++) {
            System.out.println(customers[i].toString()); //error
        }
    }
}

Can you please check if this works. 您能检查一下是否可行。 I dont know whether I understood your question.And I just cleared the error. 我不知道我是否理解您的问题。我只是清除了错误。

public class CustomerTest {
static int numItem = 0;
public static void main(String[] args) {
    Customer[] customers = new Customer[10];
    Scanner myScanner = new Scanner(System.in);

    readCustomer(myScanner, customers); //not sure about this calling
    readNameAmount(myScanner, customers); ////not sure about this calling
}
public static void readCustomer(Scanner myScanner, Customer[] input) {
    boolean streamEnded = false;

    while (!streamEnded && myScanner.hasNext()) {
        String name = myScanner.nextLine();
        String id = myScanner.nextLine();
        if (name.length() == 0 && id.length() == 0) {
            streamEnded = true;
        } 
        else {
            input[numItem].getName();
            input[numItem].getId(); //error
        }
        numItem++;
        Customer customerTest = new Customer(name, id);
    }
}
public static void readNameAmount(Scanner myScanner, Customer[] input) {
    while (myScanner.hasNext()) {

        String id = myScanner.nextLine();
        Customer cust = new Customer();
        double amount = myScanner.nextDouble();
        int i = 0;
        boolean found = false;

        while (i < numItem && !found) { //error

            if (input[i].equals(id)) { //error
                cust.changeBalance(amount);//error
            }
            found = true;
            i++;
        }
    }
} 
public static void print(Customer[] input, int numItem) {

    for (int i = 0; i < numItem; i++) {

        System.out.println(input[i].toString()); //error
    }
}
}

Let me know your thoughts. 让我知道你的想法。

Customer.java 客户.java

public class Customer {

    private String name;
    private String id;
    private double balance;

    public Customer(){

    }
    public Customer(String name, String id) {
        this.name = name;
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public String getId() {
        return id;
    }
    public void changeBalance(double value) {
        balance = balance + value;
    }
    public String toString() {
        return "name " + name + " id " + id + " balance " + balance;
    }
}

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

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