当前位置: 首页 > 知识库问答 >
问题:

我如何在Java中创建对象数组,并获取用户输入

韦锦程
2023-03-14

编辑问题以包括所需的行为、特定问题或错误,以及再现问题所需的最短代码。这将帮助其他人回答这个问题。

我试图在Java中获取abject数组的用户输入。但是它不能正常工作。我创建了第一类并声明了所有属性,创建了构造函数、geter和seters。但是当我在数组中保存服从对象时,它不能正常工作

import java.util.Scanner;

public class Account
{
    private String HolderName;
    private int AccNom;
    private String Type;
    private double CurrentBalance;


    public Account(){
        this.HolderName="Name";
        this.AccNom= 0000;
        this.Type="Account";
        this.CurrentBalance=0.00;
    }
    public Account(String name,int AccNumber, String acctype, double balance ){
        this.HolderName = name;
        this.AccNom = AccNumber;
        this.Type = acctype;
        this.CurrentBalance = balance;
    }
    public String getHolderName(){
        return HolderName;
    }
    public int getAccNom(){
        return AccNom;
    }
    public String getType(){
        return Type;
    }
    public double getCurrentBalance(){
        return CurrentBalance;
    }
    public void setHolderName(String FirstName){
        this.HolderName=FirstName;
        FirstName = this.HolderName;
    }
    public void setAccNom(int number){
        this.AccNom = number;
        number = this.AccNom;


    }
    public void setType(String acc){
        this.Type = acc;
        acc = this.Type;
    }
    public void setCurrentBalance(double Balance){
        this.CurrentBalance = Balance;
        Balance = this.CurrentBalance;
    }
    public void depostMoney(double amount){
        if (amount>0){
            this.CurrentBalance += amount;
        }else {
            System.out.println("Invalid amount");
        }
    }
    public void withdrawMoney(double amount){

        if (amount<this.CurrentBalance){
            this.CurrentBalance -= amount;
        }else {
            System.out.println("Sorry insufficient Account Balance");
        }
    }
    public void ViewDetails(){
        System.out.println("Name: "+ this.HolderName+"\nAccount Number: " + this.AccNom + "\nAccount Type: " + this.Type + "\nBalance: " + this.getCurrentBalance() );
    }
    public double checkBalance(double balance){
        System.out.println("Current Balance: "+this.CurrentBalance);
        return balance;
    }

}



    import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Account[] acc  = new Account[4];
        for (int i = 0;i< acc.length;i++){
            acc[i] = new Account();
        }
        while (true) {
            AddCustomer(acc);
            for (int i = 0; i < acc.length; i++) {

                    acc[i].ViewDetails();




            }
        }
        }
    public static void AddCustomer(Account[] acc){
        Scanner x = new Scanner(System.in);
        for (int i = 0;i< acc.length;i++){
                acc[i] = new Account();
                System.out.println("User's Name:");
                String name = x.nextLine();
                System.out.println("Account Number: ");
                int AccountNumber = x.nextInt();
                System.out.println("Account Type: ");
                String AccType = x.next();
                System.out.println("Enter the Current Balance: ");
                double CurrentBalance = x.nextDouble();
                System.out.println("Your Account has been Created");
                acc[i] = new Account(name, AccountNumber, AccType, CurrentBalance);

        }
    }
}

共有1个答案

仲和韵
2023-03-14

从我看到的情况来看,您正在使用for循环添加一个新帐户,方法是将其放置在数组的最后一个元素。然而,您没有办法打破for循环。您可能想要尝试添加中断 添加到您的AddCustomer代码和您的ViewDetails()下面

 类似资料:
  • 我试图为Java中的abject数组获取用户输入。但它工作不正常。我创建了第一个类并声明了所有属性,还创建了构造函数、geter和seter。但是当我在数组中保存对象时,它不能正常工作

  • 我试图创建一个由子类定义的对象数组(我认为这是正确的术语)。我可以看到这个问题反复出现,但实现仍然存在问题。 我的代码 给出错误 线程“main”java.lang.NullPointerException中出现异常。 为了使其合理化,我将其分解为最简单的术语: 这似乎奏效了。我只是看不出我的两个例子有什么不同。我知道我的第一个没有意义,但是MyClass最终会包含更多的数据。) 我很肯定这个问题

  • 我需要创建一个对象(银行),其中包含一组客户端和bankID。我的问题是,我不知道如何在主函数中创建银行。 银行类别: 客户端类: 主要类别: 这些是问题所在: 你必须创建一个程序来模拟银行活动。该系统包括以下模块:银行—客户(客户数组)— idBank(字符串)5 BancAccount — accountNumber(字符串)—金额(浮点)客户—姓名(字符串)—地址(字符串)—账户(银行账户数

  • 问题内容: 我有一个需要将对象数组存储在变量中的要求。对象是不同类型的。请参考以下示例: 注意第二个元素是字符串本身的数组。经过研究,我想将其存储为以下接口类型: 尽管如此,我还是遇到了一些无法找到的编译错误。 问题答案: 您要的是可能的- 游乐场链接: 但是您可能不想这样做。您正在与类型系统进行斗争,如果您这样做,我会质疑您为什么要使用Go。考虑利用类型系统- 游乐场链接:

  • 问题内容: 我是Java的新手,当时我用Java创建了一系列对象。 例如,我有A类 但这只是创建指向A的指针(引用),而不是4个对象。它是否正确?我看到当我尝试访问创建的对象中的函数/变量时,出现空指针异常。为了能够操作/访问对象,我必须这样做 这是正确的还是我做错了什么?如果这是正确的,那真的很奇怪。 编辑:我觉得这很奇怪,因为在C ++中,你只是说新的A [4],它创建了四个对象。 问题答案:

  • 问题内容: 我正在尝试 使用用户输入 创建一个 新对象。 我尝试将用户输入分配给变量,但是在声明新对象时 不知道如何将变量添加 到新对象。这只是我需要帮助的代码部分。我需要帮助的部分是 第8行。 我知道我可以随意放置一些内容,当我使用set方法时,它将覆盖,但这不是我想要的。先感谢您 问题答案: 这取决于类的实现方式。如果Expects 参数的构造函数,则调用传递它们而不指定类型的构造函数。 请注