Java 发出输入命令

Java 发出输入命令,java,command-line,Java,Command Line,我在为程序生成java命令时遇到了一个小问题我有一些代码,但我不知道如何继续。顺便说一句,我要生成的命令是/sendcash[username][money]//看起来怎么样 我有以下代码: if (cmd.equals(AdminCommands[1])) { String player = scanner.next(); int money = scanner.nextInt(); File folder = new File(player);

我在为程序生成java命令时遇到了一个小问题我有一些代码,但我不知道如何继续。顺便说一句,我要生成的命令是
/sendcash[username][money]//看起来怎么样

我有以下代码:

if (cmd.equals(AdminCommands[1])) {
        String player = scanner.next();
        int money = scanner.nextInt();
        File folder = new File(player);
        File pFile = new File(folder, player + ".txt");
        File bFile = new File(folder, money + ".txt");
        if (pFile.exists() && bFile.exists()) {
            try {
                Account pAcc = new Account(player, money);
                if(pAcc.admin != 1) {
                    try {
                        writer = new BufferedWriter(new FileWriter(bFile));
                        writer.write(player);
                    } catch (Exception e) {
                        e.printStackTrace();
                    } finally {
                        try {
                            writer.close();
                        } catch (Exception e) {
                        }
                    }
                    LabelInfo.setText("Money transfer complited ! ( " + money + " ) to ( " + pAcc.name + " )");
                } else {
                    LabelInfo.setText("You can't transfer money to an admin!");
                }
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "Username doesn't exist!");
            }
        }
    }
编辑现在使用此代码,控制台和文件中也不会发生任何事情我不知道该怎么做这里是类
帐户中的代码

public Account(String player, int cash) {
    this.username = player;
    this.money = cash;
}

如果您的意思是通过转账将结果写入文件,您可以这样做:

    BufferedWriter writer = null;
    try {
        writer = new BufferedWriter(new FileWriter(pFile));
        writer.write(player);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            writer.close();
        } catch (Exception e) {
        }
    }

问题解决了我实际上在构造函数类
Account
中遗漏了一些东西,还有人能用
writer.write(“+cashTransfer”)中的括号解释一下原因吗未显示类似
✐, 蚠, 等等。
例如,当我将放入[现金]字段
100
时,它会向我显示字母
d
,等等

这是整个工作代码

if (cmd.equals(AdminCommands[1])) {
        String playerUsername = scanner.next();
        int cashTransfer = scanner.nextInt();

        File folder = new File(playerUsername);
        File pFile = new File(folder, playerUsername + ".txt");
        File bFile = new File(folder, "balance.txt");
        if (pFile.exists()) {
            try {
                Account pAcc = new Account(playerUsername, cashTransfer);
                FileWriter bWriter = new FileWriter(bFile);
                BufferedWriter writer;
                writer = new BufferedWriter(bWriter);
                writer.write(""+cashTransfer);
                pAcc.SaveInfo();
                writer.close();
                LabelInfo.setText("Money transfer complited ! ( $" + cashTransfer + " ) to ( " + pAcc.username + " )");
            } catch (IOException e) {
                JOptionPane.showMessageDialog(null, "ERROR: Can't save balance !");
            }
        } else {
            LabelInfo.setText("Player not found !");
        }
    }

顺便说一句,谢谢@Salah对我的帮助!!!:)

但是如果你能理解我,我如何将钱的数量转移到文件中呢?:同样,用钱文件初始化
BufferWriter
,然后将钱字符串写入其中。当你初始化
Account
object
pAcc
时,你没有为admin设置值,所以我认为'if(pAcc.admin!=1)v将不是真的,代码也不会写任何东西。顺便说一句,如果你想在这两个文件上都写,你就需要编写程序。是的,我认为你应该这样做,如果这和我上面编辑的一样。但之后告诉我我需要删除,这也是
writer.close()