第一次实验感想

时间:2022-07-13 16:41:16
//信1705-2 夏铭 20173690
import java.util.Scanner;
import java.io.*;
class AccountManager
{
    private static AccountManager[] s=new AccountManager[1000];
    int n =0;
    private String accountID;
    private String accountname;
    private String operatedate;
    private int    operatetype;
    private String accountpassword;
    private int accountbalance;
    private int amount;
    
    public static AccountManager[] getS() {
        return s;
    }
    public static void setS(AccountManager[] s) {
        AccountManager.s = s;
    }
    public int getN() {
        return n;
    }
    public void setN(int n) {
        this.n = n;
    }
    public String getAccountID() {
        return accountID;
    }
    public void setAccountID(String accountID) {
        this.accountID = accountID;
    }
    public String getAccountname() {
        return accountname;
    }
    public void setAccountname(String accountname) {
        this.accountname = accountname;
    }
    public String getOperatedate() {
        return operatedate;
    }
    public void setOperatedate(String operatedate) {
        this.operatedate = operatedate;
    }
    public int getOperatetype() {
        return operatetype;
    }
    public void setOperatetype(int operatetype) {
        this.operatetype = operatetype;
    }
    public String getAccountpassword() {
        return accountpassword;
    }
    public void setAccountpassword(String accountpassword) {
        this.accountpassword = accountpassword;
    }
    public int getAccountbalance() {
        return accountbalance;
    }
    public void setAccountbalance(int accountbalance) {
        this.accountbalance = accountbalance;
    }
    public int getAmount() {
        return amount;
    }
    public void setAmount(int amount) {
        this.amount = amount;
    }
    public void judge() throws IOException
    {
     char ch;String str;
        Scanner ln=new Scanner(System.in);
        if(n==0)
        {
            System.out.println("你没有录入任何用户信息,是否录入(Y/N)");
            str=ln.next();
            ch=str.charAt(0);
            while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
            {
                System.out.println("输入有误,请重新输入:");
                str=ln.next();
                ch=str.charAt(0);
            }
            if(ch=='Y'||ch=='y')
            {
                this.add();
            }
            if(ch=='N'||ch=='n')
            {
                this.menu1();
        }
    }
}
public void menu1() throws IOException
{
    System.out.println("***************************************************************");
    System.out.println("                  欢迎使用中国工商银行自动柜员系统");
    System.out.println("****************************************************************");
    System.out.println("                       请输入您的账号:");
    System.out.println("***********************************************************");
    int n;
    Scanner ln=new Scanner(System.in);
    n=ln.nextInt();
    menu2();
}
public void menu2() throws IOException
    {
    System.out.println("*******************************************************");
    System.out.println("欢迎XXXXXXXX(账户名称)使用中国工商银行自助柜员系统");
    System.out.println("请输入您的密码:");
    int n;
    Scanner ln=new Scanner(System.in);
    n=ln.nextInt();
    menu3();
    }
public void menu3() throws IOException
    {
    System.out.println("欢迎XXXXXXXX(账户名称)使用中国工商银行自助柜员系统");
    System.out.println("1、存款;");
    System.out.println("2、取款;");
    System.out.println("3、转账汇款;");
    System.out.println("4、修改密码;");
    System.out.println("5.查询余额");
    int n;
    Scanner ln=new Scanner(System.in);
    n=ln.nextInt();
    switch(n)
    {
        case 1:this.add();break;
        case 2:this.out();break;
        case 3:this.zhuan();break;
        case 4:this.edi();break;
        case 5:this.look();break;
        case 0:System.out.println("成功退出系统!!!");System.exit(0);break;
    }            
}
public void add() throws IOException
 {
    System.out.println("①系统进入存款界面:");
    System.out.println("欢迎XXXXXXXX(账户名称)使用中国工商银行自助柜员系统");
    System.out.println("请输入存款金额;");
    int n;
    Scanner ln=new Scanner(System.in);
    n=ln.nextInt();
    System.out.print("存款金额:");System.out.print(n);System.out.println("元");
    
    System.out.println("输入数字1继续,输入数字0返回菜单");
    int a;
    Scanner in=new Scanner(System.in);
    a=in.nextInt();

    if(a==1)
    {
        add();
    }
    if(n==0)
    {
        menu3();
    }

    }
public void out() throws IOException
{
    System.out.println("①系统进入取款界面:");
    System.out.println("欢迎XXXXXXXX(账户名称)使用中国工商银行自助柜员系统");
    System.out.println("1、100元");
    System.out.println("2、500元");
    System.out.println("3、1000元");
    System.out.println("4、1500元");
    System.out.println("5、2000元");
    System.out.println("6、5000元;");
    System.out.println("7、其他金额");
    System.out.println("8、退卡");
    System.out.println("9、返回");
    int n;
    Scanner in=new Scanner(System.in);
    n=in.nextInt();
    switch(n)
    {
    case 1:System.out.println("当前账户取款操作100元成功");break;
    case 2:System.out.println("当前账户取款操作500元成功");break;
    case 3:System.out.println("当前账户取款操作1000元成功");break;
    case 4:System.out.println("当前账户取款操作1500元成功");break;
    case 5:System.out.println("当前账户取款操作2000元成功");break;
    case 6:System.out.println("当前账户取款操作5000元成功");break;
    case 7:int a;
    Scanner ln=new Scanner(System.in);
    System.out.println("请输入取款金额:");
    a=in.nextInt();System.out.print("当前账户取款操作");System.out.print(a);System.out.println("元");break;
    case 8:menu3();break;
    case 9:out();break;
    }
    System.out.println("输入数字1继续,输入数字0返回菜单");
    int a;
    Scanner sn=new Scanner(System.in);
    a=in.nextInt();

    if(a==1)
    {
        out();
    }
    if(n==0)
    {
        menu3();
    }
    }
public void zhuan() throws IOException
{
    System.out.println("请输入转账金额;");
    int n;
    Scanner ln=new Scanner(System.in);
    n=ln.nextInt();
    System.out.println("请确认是否向*XX");
    System.out.println("转账了");
    System.out.println(n);
    System.out.println("元");
    System.out.println("输入数字1继续,输入数字0返回菜单");
    int a;
    Scanner in=new Scanner(System.in);
    a=in.nextInt();

    if(a==1)
    {
        add();
    }
    if(n==0)
    {
    menu3();
    }
  }
public void edi() throws IOException
{
    System.out.println("不会修改密码");
    }
public void look() throws IOException
{
    System.out.println("不会修改密码");
}

public static void main(String[] args) throws IOException
{    
    AccountManager stu=new AccountManager();
    for(int i=0;i<100;i++)
    {
        s[i]=new AccountManager();
    }
    stu.menu1();
}
}

 

实验感想

  这时我们第一次Java的考试。这次考试直接暴露出了我的很多问题。首先还是对Java这门课程的不上心。平时没有好好的自主学习。没有学到精髓。所以这次考试也是非常的困难,对于我来说。这次Java的考试一来就遇到了困难。就是创建两个txt文件。一个文件是用来存取用户的信息的。这个我平时都没练习过。所以一开始就下不了手。还有一个文件是用来存取流水信息的。当然我连用户存储都不会,这个肯定也是根本下不了手啊。平时都是直接在程序中设置怎么输入输出。也就没有练习这个怎么在文件里用get函数和set函数调取信息出来。现在算是涨见识了。

然后我就没有用文件的方式设置用户信息。自然登陆系统的认证功能就是没有的。我就简单的设置下了页面,各个页面的转换等等。当然这些还是很多东西都是没有实现的。这也让我看到了自己的差距吧。这个简单的考试老师也是想让我们看清自己平时都有没有用功。这也就明显看出来了。我就是平时不怎么用功的。但是在这个程序中我可以看到自己接下来应该怎么学习。学习什么。首先就是文件的导入导出。怎么在程序中是实现文件的读取和存取。还有就是怎么存取他的流水信息。还有一个很大问题。就是在取钱那一块中,判断卡里的余额是不是不足。这一点也是很头疼的。找了好多资料都没能明白怎么回事。

还有一个很大的问题,就是自己在写项目的时候,不习惯把各个程序拆分开来。只要一拆开感觉很多就不懂了。这也是一个毛病,一直都没有改过来。老师也说。拆开能更好的发现错误寻找错误。这次我算是深深的体会到了。在较长的代码当中,很容易眼花。虽然错误有颜色的标识。但是还是很难发现错误的源头。找不到方向。一出现错误就是出现一大堆的错误。基本大部分的时间就是出现在修改错误上的。看来以后在写的时候就要细心。不能在修改上花费很多的时间。还有就是应该一边写代码一边编译看看这一小段有没有错误。还有接下来要学习的就是语句和各个函数的调用。其实这些都应该是基本功。只能说自己没有花时间在这方面上心。还有就是没有找到学习的方法。就是套用别人推荐的,但是那始终是别人的。在学习方面还是应该有自己的学习方法。现在在网上找了些视频,确实学到了很多,发现自己所缺乏的还是基础。基础功都不扎实,在实战中肯定是什么都做不出来的。所以还是要多练习。所以这次考试对我很有意义,让我明白了自己的不足。以后的考试一定要认真对待。