打印客户名称,ID,余额

时间:2014-03-06 06:51:29

标签: java class object

我正在编写一个我需要的Java程序:

读取客户名称和ID并将其存储在数组中的方法。 (读取零个或多个行的序列,每个行包含一个客户的名称和id。每行实例化一个Customer对象并将每个对象存储在一个对象数组中。该数组的长度不能超过10个元素。 nameid的序列将以空行结束。

主要

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
        }
    }
}

1 个答案:

答案 0 :(得分:0)

请检查一下是否有效。 我不知道我是否理解你的问题。我刚刚清除了错误。

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
    }
}
}

让我知道你的想法。

<强> Customer.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;
    }
}