【发布时间】:2023-04-10 21:09:01
【问题描述】:
好的,这就是发生的事情。我正在制作一个简单的银行程序。
这就是我想做的,注意我的 Account 类的变量 (a1, a2, a3)
这工作得很好,但不是我想做的。 在切换的情况下,我希望能够让用户在帐户下输入名称并能够对其进行编辑。
现在,我知道我是否应该这样做:
Account AccountObject = new Account ();
balance.put (sc.nextLine(), AO.addFunds)
然后我会有不同的用户,但资金基本上都是一样的。我如何将它们分开*
我知道一旦我弄清楚了如何做到这一点,我就会开始着手更复杂的项目。
import java.util.Hashtable;
import java.util.Scanner;
class Data {
public static void main(String args[]) {
Hashtable<String, Double> balance = new Hashtable<String, Double>();
Scanner sc = new Scanner(System.in);
Scanner sa = new Scanner(System.in);
boolean quit = false;
boolean quit2 = false;
// Create account variables
Account a1 = new Account();
Account a2 = new Account();
Account a3 = new Account();
Account a4 = new Account();
Account a5 = new Account();
// Add funds to variables in Hashtable
balance.put(sc.nextLine(), a1.addFunds());
balance.put(sc.nextLine(), a2.addFunds());
balance.put(sc.nextLine(), a3.addFunds());
balance.put(sc.nextLine(), a4.addFunds());
balance.put(sc.nextLine(), a5.addFunds());
do {
System.out.println("Menu: \n 1: Check balance\n 2: Add funds\n 3: Withdraw funds\n 4: Quit");
int input = sa.nextInt();
switch (input) {
case 1:
System.out.println(balance.get(sc.nextLine()));
break;
case 2:
System.out.println(balance.put(sc.nextLine(), a1.addFunds()));
break;
case 3:
System.out.println(balance.put(sc.nextLine(), a1.withdrawFunds(sa.nextDouble())));
break;
case 4:
quit = true;
break;
}
} while(!quit);
System.out.println("Exiting menu");
}
}
帐户类
import java.util.Scanner;
public class Account {
int balance;
String name;
public double addFunds() {
Scanner sa = new Scanner(System.in);
double amount = sa.nextDouble();
balance += amount;
return balance;
}
public String Acct(String names) {
Scanner sc = new Scanner(System.in);
name = names;
return name;
}
public double withdrawFunds(double amount) {
balance -= amount;
return balance;
}
public String toString() {
return String.format("Balance: %n", balance);
}
}
【问题讨论】:
-
你到底在问什么?标题不够,您还必须在帖子中添加主要问题。
-
我也不明白这个问题。为什么你有两个
Scanners?难道只有一个扫描仪就足够了吗?还有balance这个变量有什么用? -
@MCEmperor 我会重申。我有有帐户的用户。我如何在哈希表中添加/提取/检查这些帐户的余额。我有两台扫描仪,因为一台只用于数字,一台用于字符串
-
@UriD.Charles 不要用 cmets 添加信息,编辑你的帖子... cmets 是供用户询问更多信息
-
在包含
balance.put(sc.nextLine(), a1.addFunds())的行中,用户必须在sc.nextLine()输入什么?
标签: java hashtable java.util.scanner