【问题标题】:Array of classes and methods in JavaJava中的类和方法数组
【发布时间】:2012-03-07 09:48:26
【问题描述】:

好的,所以我有一个小任务要做,需要一些类数组并调用各种方法来完成工作。从本质上讲,我也希望通过这个程序学习一些东西,它的想法是创建一个客户账户、存款、取款等。到目前为止,我已经编写了这段代码,但我得到了下面给出的错误。请以任何可能的方式帮助我。并且 var++ 不允许在 Java 中增加数字吗??

import java.util.*;

public class Bank
    {
        int cId;
        String cName;
        float cBalance;
    }
class Banking
{
public static void main(String args[])
{


    int limit=1;
    System.out.println(+limit);
    while (limit==1)
    {
    System.out.println("Menu:");
    System.out.println("1. Add Customer");
    System.out.println("2. View Customer Details");
    System.out.println("3. Banking Options");
    System.out.println("Enter choice:");
    Scanner scan = new Scanner (System.in);
    int i=scan.nextInt();
    switch (i)
    {
        case 1:
            {
                System.out.println("Add the customer");
                Customer();
            }
        /*case 2:
            {
                System.out.println("Customer details");
                getCustomer();
            }
        case 3:
            {
                System.out.println("Banking options");
                System.out.println("1. Deposit");
                System.out.println("2. Withdraw");
                System.out.println("3. Balance Enquiry");
                Scanner scan1 = new Scanner (System.in);
                int j=scan1.nextInt();
                switch (j)
                {
                    case 1:
                        {
                                                           System.out.println("Deposit");
                            deposit();
                        }
                    case 2:
                        {
                                                           System.out.println("Withdraw");
                            withdraw();
                        }
                    case 3:
                        {
                                                           System.out.println("Balance Enquiry");
                            balance();
                        }
                }
            }
    }   */
    System.out.println("Enter 0 to exit or 1 to continue operations");
    Scanner s = new Scanner (System.in);
    limit=scan.nextInt();
    }
}
}
}
public static void Customer (String []a)
{
    int cust=0;
    Bank c[cust] = new Bank();
    System.out.println("Enter customer ID:");
    Scanner scan11 = new Scanner (System.in);
    int k=scan11.nextInt();
    c[cust].cId=k;
    System.out.println("Enter customer name:");
    Scanner scan12 = new Scanner (System.in);
    String name=scan12.next();
    c[cust].cName=name;
    System.out.println("Enter starting balance:");
    Scanner scan132 = new Scanner (System.in);
    float bal=scan132.nextFloat();
    c[cust].cBalance=bal;

    System.out.print("Customer id=" +c[cust].cId );
    cust++;


}

}

这里给出了错误:

bank.java:73: class, interface, or enum expected
        public static void Customer (String []a)
                      ^
bank.java:76: class, interface, or enum expected
                Bank c[cust] = new Bank();
                ^
bank.java:77: class, interface, or enum expected
                System.out.println("Enter customer ID:");
                ^
bank.java:78: class, interface, or enum expected
                Scanner scan11 = new Scanner (System.in);
                ^
bank.java:79: class, interface, or enum expected
                int k=scan11.nextInt();
                ^
bank.java:80: class, interface, or enum expected
                c[cust].cId=k;
                ^
bank.java:81: class, interface, or enum expected
                System.out.println("Enter customer name:");
                ^
bank.java:82: class, interface, or enum expected
                Scanner scan12 = new Scanner (System.in);
                ^
bank.java:83: class, interface, or enum expected
                String name=scan12.next();
                ^
bank.java:84: class, interface, or enum expected
                c[cust].cName=name;
                ^
bank.java:85: class, interface, or enum expected
                System.out.println("Enter starting balance:");
                ^
bank.java:86: class, interface, or enum expected
                Scanner scan132 = new Scanner (System.in);
                ^
bank.java:87: class, interface, or enum expected
                float bal=scan132.nextFloat();
                ^
bank.java:88: class, interface, or enum expected
                c[cust].cBalance=bal;
                ^
bank.java:90: class, interface, or enum expected
                System.out.print("Customer id=" +c[cust].cId );
                ^
bank.java:91: class, interface, or enum expected
                cust++;
                ^
bank.java:94: class, interface, or enum expected
        }
        ^
17 errors

非常感谢大家!!

【问题讨论】:

  • 一方面,您需要在 switch 中使用 break 语句。但是,这可能无法解决您的错误。是的,var++ 是在 Java 中将变量增加 1 的完全可接受的方式。而且我相信您会遇到依赖错误。您应该有一个该程序所引用的 Bank 类。如果是家庭作业,那么很可能是教授提供的,或者你要自己定义 Bank 类。
  • 是的,您可以使用 ++ 在 java 中增加数字:docs.oracle.com/javase/tutorial/java/nutsandbolts/op1.html
  • 我将首先将您的一个类文件重构为三个单独的类文件,每个类一个。分解问题可能会帮助您解决它(或至少缩小编译错误的范围)。

标签: java arrays class methods


【解决方案1】:

平衡你的大括号,这样你就有相同数量的开口和闭合的大括号。
这通常是您收到class or enum expected 时的问题。

【讨论】:

    【解决方案2】:

    去掉这两个右大括号

    }  // <--
    }  // <--
    public static void Customer (String []a)
    {
    

    并为不同的错误做好准备..

    【讨论】:

      【解决方案3】:

      关于:

      bank.java:73: class, interface, or enum expected
              public static void Customer (String []a)
      

      通常这意味着查看上面的行。您可能缺少分号或花括号太多或太少。确保你的花括号完全对齐,良好的代码格式和缩进将帮助你做到这一点。顺便说一句,您的格式很糟糕,这导致您找不到错误。

      这一行:Bank c[cust] = new Bank(); 没有任何意义。你想在这里做什么?

      最重要的是:阅读教程并学习基础知识。一次添加少量代码并经常编译。在解决所有编译问题之前不要添加任何新代码,否则您最终只会得到一堆错误。

      【讨论】:

      • 银行 c[cust] = new Bank();我正在尝试创建一个类数组......就像我们如何在 C 中创建一个结构数组一样。这是格式吗?你能告诉我是否有更简单的方法来读取数字和字符串而不是 Scanner 类???
      【解决方案4】:

      代码格式不正确,但我的猜测是前面有一个或多个不必要的大括号

      public static void Customer (String []a)
      

      编译器基本上是在告诉您将代码放在类定义(或接口或枚举)之外,但这在 java 中是不可能的。所有代码都必须在一个类(或接口或枚举)内。

      【讨论】:

        猜你喜欢
        • 2017-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-31
        • 2015-07-11
        • 2014-11-20
        相关资源
        最近更新 更多