Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何循环使用每个帐户?_Java - Fatal编程技术网

Java 如何循环使用每个帐户?

Java 如何循环使用每个帐户?,java,Java,规格 创建一个银行账户,并从用户处读取初始余额。它提供了一个菜单,用户可以存款和取款,并查看余额。它也有每日利息。帐户菜单选项如下: d:押金:请看挂载 w:取款:读入金额,并进行验证 s:请看余额 x:退出任何东西 其他:帮助 客户有三个银行账户,分别为信用账户、储蓄账户和定期账户;年利率分别为0%、1.2%和3.4%。客户菜单允许用户选择一个帐户添加利息,或查看所有余额。菜单选项包括: a:选择帐户:输入名称 i:给所有账户加利息 s:显示所有帐户 x:退出 还有什么:救命 增加兴趣。利息每

规格 创建一个银行账户,并从用户处读取初始余额。它提供了一个菜单,用户可以存款和取款,并查看余额。它也有每日利息。帐户菜单选项如下:

d:押金:请看挂载 w:取款:读入金额,并进行验证 s:请看余额 x:退出任何东西 其他:帮助 客户有三个银行账户,分别为信用账户、储蓄账户和定期账户;年利率分别为0%、1.2%和3.4%。客户菜单允许用户选择一个帐户添加利息,或查看所有余额。菜单选项包括: a:选择帐户:输入名称 i:给所有账户加利息 s:显示所有帐户 x:退出 还有什么:救命 增加兴趣。利息每天被加到一个总金额中,这个总利息在每个月底被加到余额中。这个 银行每天将利息添加到利息字段,并在每个月底将该金额添加到余额并设置利息 回到零。 菜单选项为每个帐户添加30天的每日利息,然后在30天的月末将利息添加到余额中。 利率以年利率百分比表示,例如每年3.4%。 你必须把它转换成日利率。 正常年份有365天。闰年每四年发生一次,有366天。处理闰年的标准方法是使用365.25天的年份

以下是我到目前为止的情况;我的问题是如何完成string-toString方法()并选择方法

import java.util.*;

public class Customer
{   public static void main(String[] args)
    {   new Customer();  }


    public Customer()
    {
        setup();
    }

    private void setup()
    {
        accounts.add(new Account("",0.0));
        accounts.add(new Account("",0.0));
        accounts.add(new Account("",0.0));
    }

    public void use()
    {
        char choice;
        while((choice = readChoice()) != 'x')
        {
            switch(choice)
            {
                case 'a': choose(); break;
                case 'i': addInterest(); break;
                case 's': show(); break;
                default: help();
            }
        }   
    }

    private char readChoice()
    {   return 'x'; }


    private void choose()
    {
        // ask for acount
        // search for that ;particular accounts using account(name)

        // use the newly found account (given that it is found)
    }

    private String readName()
    {
        //gives accountName you are searching for
        System.out.print("??? account ???; ");
        return In.nextLine();

    }

    private Account account(String name)
    {   return null;    }

    private void addInterest()
    {   for (Account account: accounts)
        {   for (int i = 0; i < 30; i++)
                account.addDailyInterest();
            account.addMonthlyInterest();   }}

    private void help()
    {   String s = "The menu choices are";
        s += "\n  a: choose an account";
        s += "\n  i: add interest to all accounts";
        s += "\n  s show";
        s += "\n  x exit";
        System.out.println(s);   }

    private void show()
    {
        System.out.println(this);
    }

    public String toString()
    {   String s = "";
        // loop through each account
        // add each account toString();
        // seperate each account object using a new line.
        return s;
    }
}
import java.util.*;
公共类客户
{公共静态void main(字符串[]args)
{新客户();}
公众客户()
{
设置();
}
私有无效设置()
{
账户。添加(新账户(“,0.0”);
账户。添加(新账户(“,0.0”);
账户。添加(新账户(“,0.0”);
}
公共用途()
{
字符选择;
而((choice=readChoice())!='x')
{
开关(选择)
{
案例“a”:选择();中断;
案例“i”:addInterest();break;
案例:show();break;
默认值:help();
}
}   
}
私有字符readChoice()
{返回'x';}
私有void choose()
{
//请款
//搜索该帐户;使用帐户(名称)搜索特定帐户
//使用新找到的帐户(假定已找到)
}
私有字符串readName()
{
//提供您正在搜索的accountName
系统输出打印(“???账户;”);
在.nextLine()中返回;
}
私人帐户(字符串名称)
{返回null;}
私有void addInterest()
{for(账户:账户)
{for(int i=0;i<30;i++)
account.addDailyInterest();
account.addMonthlyInterest();}
私人助理
{String s=“菜单选项为”;
s+=“\n a:选择一个帐户”;
s+=“\n i:向所有帐户添加利息”;
s+=“\n s show”;
s+=“\n x退出”;
System.out.println(s);}
私人电视节目()
{
System.out.println(本文件);
}
公共字符串toString()
{String s=”“;
//循环检查每个帐户
//将每个帐户添加到字符串();
//使用新行分隔每个帐户对象。
返回s;
}
}

那么,它到底编译了吗?通常我会使用Customer类,它有一个
私有列表accountList
,很容易扩展(我看到
accounts.add(newaccount(“,0.0));
但没有列表声明)

然后覆盖帐户中的
toSting
方法,以便打印最适合您的内容。最后,在Customer中,只需迭代accountList,如下所示:

public String toString()
{   String s = "";
    for (Account account:accountList){
        s += account.toString() + "\n";
    }
    return s;
}

这个问题很奇怪。。。您已经知道如何迭代数组,以及如何使用行分隔符追加字符串。你真正的问题是什么?你读过我的问题吗?如何完成choose and toString()方法?是的,我已经读过了,但我仍然不知道为什么您不能自己实现
toString()
方法。这里的
choose()
可能有点不同,但是您没有先尝试过什么吗?是的,我的客户类中有这个。私有LinkedList帐户=新建LinkedList();因此,只需在Account类中覆盖
toString
,并使用发布的代码即可。同样考虑到
choose
方法,它将以类似的方式循环整个accountList,如果任何帐户与您的姓名匹配,只需返回它。