Java 发出输入命令
我在为程序生成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);
/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
objectpAcc
时,你没有为admin设置值,所以我认为'if(pAcc.admin!=1)v将不是真的,代码也不会写任何东西。顺便说一句,如果你想在这两个文件上都写,你就需要编写程序。是的,我认为你应该这样做,如果这和我上面编辑的一样。但之后告诉我我需要删除,这也是writer.close()代码>