Java代码中的错误

时间:2013-11-16 19:15:13

标签: java

我是编程的初学者,我会很感激有关这个java错误的一些帮助和建议。这是我正在处理的代码的一部分,但是我收到的错误是“我无法解决”,这是在我的代码的System.out.println部分。

private static void printBill(ArrayList bills) 
{
    //prints out data
    for(int i = 0; i < bills.size(); i++);
    {
        System.out.println("Bill number: " + i + ":" + bills.get(i).toString());
    }       
}

我不了解此错误或如何纠正错误。我只想要打印 账单号1:租金800(用户基本输入的内容)

这是我的驱动程序类的完整代码(如果有助于查看整个内容):

public class BillsDriver 
{

    public static void main(String[] args) 
    {
        Scanner scanner = new Scanner(System.in);
        System.out.println("How many bills do you have? ");
        scanner.nextLine();

        //array of Bills
        ArrayList bills = new ArrayList();


        boolean more = true;

        while(more)
        {
            Scanner sc = new Scanner(System.in);
            System.out.println("Enter bill name: ");
            String name = sc.nextLine();

            System.out.println("Enter bill amount: ");
            double amount = sc.nextDouble();

            Bills thisBill = new Bills(name, amount);

            bills.add(thisBill);

            System.out.println("More bills?(true/false)");
            more = sc.nextBoolean();

        }       printBill(bills);


    }

    private static void printBill(ArrayList bills) 
    {
        //prints out data
        for(int i = 0; i < bills.size(); i++);
        {
            System.out.println("Bill number: " + i + ":" +  bills.get(i).toString());
        }

    }

}

编辑:我如何计算所有账单金额?你如何总计/总结arraylist? 如果它是 比尔#1:租800 比尔#2:电缆100

然后我会 应付总金额:900

5 个答案:

答案 0 :(得分:5)

for循环后你有一个分号:

for(int i = 0; i < bills.size(); i++);

删除它,错误应该消失。

答案 1 :(得分:5)

你在printBill的for循环结束时有一个额外的分号。

for(int i = 0; i < bills.size(); i++);

将其删除

for(int i = 0; i < bills.size(); i++)

答案 2 :(得分:1)

删除分号:

for(int i = 0; i < bills.size(); i++);

到此:

for(int i = 0; i < bills.size(); i++)

答案 3 :(得分:0)

使用以下循环

for(int i = 0; i < bills.size(); i++)
{
    System.out.println("Bill number: " +String.valueOf(i) + ":" + bills.get(i).toString());

}

答案 4 :(得分:0)

您通常应该使用:

public class BillsDriver {

    public static void main(String[] args) {
         BillsDriver theBillsDriver = new BillsDriver();
         theBillsDriver.startBillSystem();
    }

    void startBillSystem() {
         Scanner scanner = new Scanner(System.in);
         System.out.println("How many bills do you have? ");
         scanner.nextLine();
    ...///Rest of code from main