java程序中的错误

时间:2013-04-23 20:30:01

标签: java

我正在尝试编写这个java程序来添加,删除array-list中的项目。这就是我编码的内容:

import java.io.*;
import java.util.Scanner;

class abc
{
    ArrayList<Int> nums = new ArrayList<Int>();
    Scanner in = new Scanner(System.in);
    int opt = 0; 

    public void addItem(int i) // add item to list
    {
        nums.add(i);
    }

    public void addItem(int i, int pos) // add item to specific position in list 
    {
        nums.add(pos,i);
    }

    public void delItem(int pos) // delete item at specific position in list 
    {
        nums.remove(pos);
    }   

    public void delItem() // clear all items in list 
    {
        nums.clear();
    }       

    public void showItems()
    {
        for(int i = 0; i < nums.length ; i++)
        {
            System.out.println("nums[" + i + "] : " + nums[i]);
        }
    }

    public void menu()
    {
        System.out.println("==MENU==");
        System.out.println("1) Add an item");
        System.out.println("2) Add an item to specific position");
        System.out.println("3) Delete an item at specific position");
        System.out.println("4) Clear all items in list");
        System.out.println("5) Exit \n\n");
        System.out.println("Choose an option");
        opt = in.nextInt();
        execute();
    }

    public void execute()
    {
        if(opt == 1)
        {
            System.out.println("Enter a value: ");
            int a = in.nextInt();
            addItem(a);
            System.out.println("Item added");
        }
        else if(opt == 2)
        {
            System.out.println("Enter a value: ");
            int a = in.nextInt();
            System.out.println("Enter a position: ");
            int b = in.nextInt();
            addItem(a,b);
            System.out.println("Item added");
        }
        else if(opt == 3)
        {
            System.out.println("Enter a position: ");
            int a = in.nextInt();
            delItem(a);
            System.out.println("Item deleted");
        }
        else if(opt == 4)
        {
            delItem();
            System.out.println("All Items deleted");
        }
    }
}


class pList
{
    public void static main(String args[])
    {
        abc a = new abc();
        while(true)
        {
            a.menu();
            if(a.opt == 5)
            {
                break;
            }
            else if(a.opt > 5)
            {
                a.menu();
            }
        }
    }
}

这是我收到的错误:

C:\Users\Dummy\Desktop\Java>javac pList.java
pList.java:87: error: <identifier> expected
        public void static main(String args[])
                   ^
pList.java:87: error: '(' expected
        public void static main(String args[])
                    ^
pList.java:87: error: invalid method declaration; return type required
        public void static main(String args[])
                           ^
3 errors

C:\Users\Dummy\Desktop\Java>

请让我知道如何解决这个问题以及我犯了错误的地方。提前致谢

3 个答案:

答案 0 :(得分:5)

改变这个:

  public void static main(String args[])

  public static void main(String args[])

您还需要import java.util.ArrayList;才能使用列表。而且您的列表不能是<int>类型,必须是<Integer>。 int是一个数字;整数是一个可以引用包含数字的对象的指针。阅读差异here

答案 1 :(得分:1)

您希望您的返回类型在标识符之后

public static void main(String args[])

此外,您有Int的泛型,您希望这些是Integer吗?您正在将基元添加到ArrayList中。

答案 2 :(得分:0)

如果您是学习程序员,则应使用NetBeans 您必须使用main方法的返回类型,因为它的返回类型设置为void