Java编程银行账户代码

Java编程银行账户代码,java,Java,我正在使用eclipse查看我的代码,出现的最常见错误是“令牌上的语法错误,构造错误”。我不确定我做错了什么,但我对Java还是相当陌生的 我的代码应该从银行帐户中提取指定的(用户输入)金额,我从10000美元开始,并设置程序,以便如果提取金额小于0或大于10000美元,它将触发断言错误 class ThreadsUnitProject2 { public static void main(Sting args []) // Field member private int balance

我正在使用eclipse查看我的代码,出现的最常见错误是“令牌上的语法错误,构造错误”。我不确定我做错了什么,但我对Java还是相当陌生的

我的代码应该从银行帐户中提取指定的(用户输入)金额,我从10000美元开始,并设置程序,以便如果提取金额小于0或大于10000美元,它将触发断言错误

  class ThreadsUnitProject2 {
public static void main(Sting args [])
// Field member 
private int balance; 

public void BankAccount() 
{ 
balance = 10000; 
} 

public int withdraw(int amount) 
{   
// Subtract requested amount from balance 
balance-=amount; 

// Return requested amount 
return amount; 
} 


public int getBalance() 
{ 
return balance; 
} 


import java.util.Scanner; 

class BankAccountTester extends BankAccount
{ 
public static void main(String[] args) 
{ 
    Scanner scan = new Scanner(System.in); 

    BankAccount myAccount = new BankAccount(); 

    System.out.println("Balance = " + myAccount.getBalance()); 

    System.out.print("Enter amount to be withdrawn: "); 
int amount = scan.nextInt(); 

    assert (amount >= 0 && amount <= myAccount.getBalance()):"You can't withdraw that amount!"; 

    myAccount.withdraw(amount); 

    System.out.println("Balance = " + myAccount.getBalance()); 
} 
class ThreadsUnitProject2{
公用静态空干管(Sting参数[])
//现场成员
私人国际收支平衡;
公共无效银行帐户()
{ 
余额=10000;
} 
公共整数取款(整数金额)
{   
//从余额中减去请求的金额
余额-=金额;
//退回要求的金额
退货金额;
} 
公共int getBalance()
{ 
收益余额;
} 
导入java.util.Scanner;
类BankAccountTester扩展了BankAccount
{ 
公共静态void main(字符串[]args)
{ 
扫描仪扫描=新扫描仪(System.in);
银行账户myAccount=新银行账户();
System.out.println(“Balance=“+myAccount.getBalance());
系统输出打印(“输入要提取的金额:”);
int amount=scan.nextInt();

断言(amount>=0&&amount将类“ThreadsUnitProject2”重命名为BankAccount并删除main()方法,并将BankAccountTester类公开,最后从BankAccount构造函数中删除void。在看到代码中的许多问题后,我决定修复它,让您尝试从下面看到的解决方案中学习

这应该是第一个类文件

public class BankAccount {

    private int balance;

    public BankAccount() {      //constructor
        balance = 10000;
    }

    public int withdraw(int amount) {
        balance -= amount;
        return amount;
    }

    public int getBalance() {
        return balance;
    }
}
这应该是您的第二个类文件。此文件将包含您的
main
方法,该方法将测试您的BankAccount类

import java.util.Scanner;

public class BankAccountTester {
    public static void main(String[] args) {
        Scanner     scan      = new Scanner(System.in);
        BankAccount myAccount = new BankAccount();

        System.out.println("Balance = " + myAccount.getBalance());
        System.out.print  ("Enter amount to be withdrawn: ");
        int amount = scan.nextInt();

        assert (amount >= 0 && amount <= myAccount.getBalance()) : "You can't withdraw that amount!";
        myAccount.withdraw(amount);

        System.out.println("NewBalance = " + myAccount.getBalance());
    }
}
import java.util.Scanner;
公共类银行账户测试员{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
银行账户myAccount=新银行账户();
System.out.println(“Balance=“+myAccount.getBalance());
System.out.print(“输入要提取的金额:”);
int amount=scan.nextInt();

断言(amount>=0&&amount将您的
import java.util.Scanner;
移动到文件顶部。
public static void main(Sting args[])
这需要括号。除其他内容外,你应该在提交时修复缩进,以便人们更容易阅读。此外,你似乎有两个
main
方法?另一个问题是你没有
ThreadsUnitProject2
类的构造函数。这意味着余额永远不会设置为10000.Also、 assert不应用于程序逻辑,因为在部署时,默认情况下它们是禁用的,需要使用-ea参数启用。这里有很好的解释: