首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"Checking Account“Java程序

"Checking Account“Java程序
EN

Stack Overflow用户
提问于 2018-12-07 21:00:43
回答 4查看 1.4K关注 0票数 0

又见面了,StackOverflow。我回来了,在我的代码中有一个新的问题。是的,这是为学校(高中)准备的。我的问题是。到目前为止,这是我的代码。

代码语言:javascript
复制
import java.util.Scanner;

class Main {
  public static void main(String[] args) {

    Scanner moneyTime = new Scanner(System.in);

    System.out.println("Hello world!");

    int dep;
    int with;
    int balance = 1200;
    int choice;

    while(1 == 1)
    {
      System.out.println(" ");
      System.out.printf("%s%d", "Current Balance: $", balance);
      System.out.println(" ");
      System.out.println("What would you like to do:");
      System.out.println("Type 1 for [DEPOSIT]");
      System.out.println("Type 2 for [WITHDRAWAL]");
      System.out.println("Type 3 for [EXIT/FINAL]");
      choice = moneyTime.nextInt();

      if(choice == 1)
      {
        System.out.print("Amount: ");
        dep = moneyTime.nextInt();
        deposit(balance, dep);
        System.out.println("Testing: " + balance);
      }
      else if(choice == 2)
      {
        System.out.print("Amount: ");
        with = moneyTime.nextInt();
        withdrawl(balance, with);
        System.out.println("Testing2: " + balance);
      }
      else
      {
        exitORfinal();
      }
    }

    static int deposit(int balance, int dep)
    {
    int balance1 = balance + dep;
    return balance1;
    }

    static int withdrawal(int balance, int with)
    {
    int balance1 = balance - with;
    return balance1;
    }

    static int exitORfinal
    {
    System.out.println("Testing Text to make sure thiworks");
    }

  }
}

我在代码中遇到的问题是底部的静态不工作,并且打印出这些错误。

代码语言:javascript
复制
exit status 1
Main.java:46: error: illegal start of expression
    static int deposit(int balance, int dep)
    ^
Main.java:46: error: ';' expected
    static int deposit(int balance, int dep)
                      ^
Main.java:46: error: <identifier> expected
    static int deposit(int balance, int dep)
                                   ^
Main.java:46: error: not a statement
    static int deposit(int balance, int dep)
                                        ^
Main.java:46: error: ';' expected
    static int deposit(int balance, int dep)
                                           ^
Main.java:52: error: illegal start of expression
    static int withdrawal(int balance, int with)
    ^
Main.java:52: error: ';' expected
    static int withdrawal(int balance, int with)
                         ^
Main.java:52: error: <identifier> expected
    static int withdrawal(int balance, int with)
                                      ^
Main.java:52: error: not a statement
    static int withdrawal(int balance, int with)
                                           ^
Main.java:52: error: ';' expected
    static int withdrawal(int balance, int with)
                                               ^
Main.java:58: error: illegal start of expression
    static int exitORfinal
    ^
Main.java:58: error: ';' expected
    static int exitORfinal
                          ^
12 errors
exit status 1
Main.java:46: error: illegal start of expression
    static int deposit(int balance, int dep)
    ^
Main.java:46: error: ';' expected
    static int deposit(int balance, int dep)
                      ^
Main.java:46: error: <identifier> expected
    static int deposit(int balance, int dep)
                                   ^
Main.java:46: error: not a statement
    static int deposit(int balance, int dep)
                                        ^
Main.java:46: error: ';' expected
    static int deposit(int balance, int dep)
                                           ^
Main.java:52: error: illegal start of expression
    static int withdrawal(int balance, int with)
    ^
Main.java:52: error: ';' expected
    static int withdrawal(int balance, int with)
                         ^
Main.java:52: error: <identifier> expected
    static int withdrawal(int balance, int with)
                                      ^
Main.java:52: error: not a statement
    static int withdrawal(int balance, int with)
                                           ^
Main.java:52: error: ';' expected
    static int withdrawal(int balance, int with)
                                               ^
Main.java:58: error: illegal start of expression
    static int exitORfinal
    ^
Main.java:58: error: ';' expected
    static int exitORfinal
                          ^
12 errors

我真的很困惑。我知道我可能遗漏了什么,或者我对一个明显的错误完全视而不见。我不知道该怎么做,我试了所有我知道的。我会问老师,但她确实是个笨蛋,即使我们问过其他学生,她也不会帮助任何人。

再次感谢你的帮助(如果我真的得到了任何帮助)。

EN

回答 4

Stack Overflow用户

发布于 2018-12-07 21:11:12

第一个你需要将你在main方法中创建的所有方法移出main方法,第二个你需要在exitORfinal静态方法中添加一些参数例如: exitORfinal() { ..} Third您必须将moneyBoi变量替换为moneyTime,因为您声明为moneyTime。Fourth必须将取款方法重命名为取款。

您的代码如下所示:

代码语言:javascript
复制
import java.util.Scanner;

class Main {
    static int exitORfinal() {
        System.out.println("Testing Text to make sure thiworks");
    }

    public static void main(String[] args) {

        Scanner moneyTime = new Scanner(System.in);

        System.out.println("Hello world!");

        int dep;
        int with;
        int balance = 1200;
        int choice;

        while (1 == 1) {
            System.out.println(" ");
            System.out.printf("%s%d", "Current Balance: $", balance);
            System.out.println(" ");
            System.out.println("What would you like to do:");
            System.out.println("Type 1 for [DEPOSIT]");
            System.out.println("Type 2 for [WITHDRAWAL]");
            System.out.println("Type 3 for [EXIT/FINAL]");
            choice = moneyTime.nextInt();

            if (choice == 1) {
                System.out.print("Amount: ");
                dep = moneyTime.nextInt();
                deposit(balance, dep);
                System.out.println("Testing: " + balance);
            } else if (choice == 2) {
                System.out.print("Amount: ");
                with = moneyTime.nextInt();
                withdrawl(balance, with);
                System.out.println("Testing2: " + balance);
            } else {
                exitORfinal();
            }
        }
    }    

    static int deposit(int balance, int dep) {
        int balance1 = balance + dep;
        return balance1;
    }

    static int withdrawl(int balance, int with) {
        int balance1 = balance - with;
        return balance1;
    }
}

  1. For修复第一个:需要知道所有方法都是在类中声明的,而不是在方法中声明的。defining methods
  2. For修复第二个:需要知道任何方法都需要一些参数,即使是空的someMethod() { ... }
  3. For修复第三个和第四个:需要知道您创建的方法的名称,这必须与在任何方法上调用它的名称相同。
票数 0
EN

Stack Overflow用户

发布于 2018-12-07 21:17:45

下面的代码如何:

代码语言:javascript
复制
import java.util.Scanner;

class Main {
    static int deposit(int balance, int dep) {
        return balance + dep;
    }

    static int withdrawl(int balance, int with) {
        return balance - with;
    }

    static void exitORfinal() {
        System.out.println("Testing Text to make sure thiworks");
    }

    public static void main(String[] args) {
        Scanner moneyTime = new Scanner(System.in);
        System.out.println("Hello world!");

        int dep;
        int with;
        int balance = 1200;
        int choice;

        while (true) {
            System.out.println(" ");
            System.out.printf("%s%d", "Current Balance: $", balance);
            System.out.println(" ");
            System.out.println("What would you like to do:");
            System.out.println("Type 1 for [DEPOSIT]");
            System.out.println("Type 2 for [WITHDRAWAL]");
            System.out.println("Type 3 for [EXIT/FINAL]");
            choice = moneyTime.nextInt();

            if (choice == 1) {
                System.out.print("Amount: ");
                dep = moneyTime.nextInt();
                deposit(balance, dep);
                System.out.println("Testing: " + balance);
            } else if (choice == 2) {
                System.out.print("Amount: ");
                with = moneyTime.nextInt();
                withdrawl(balance, with);
                System.out.println("Testing2: " + balance);
            } else {
                exitORfinal();
            }
        }
    }    


}

我认为将这些静态方法放在main方法之前会更好。

票数 0
EN

Stack Overflow用户

发布于 2018-12-07 21:26:01

简单地说就是:你的各种方法(exitORfinal,withdrawal,deposit)的声明都在你的main方法的声明中。在java中,方法不能在另一个方法体中定义,你必须将它们移到你的类体中。

另外,我可以建议您使用高效的集成开发环境(Eclipse、Netbeans,或者任何带有VSCode或SublimeText等Java插件的像样的编辑器)吗?它会很好地强调这个问题,甚至会提出修复建议。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53670108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档