exception in thread "main" java.lang.nosuchmethoderror:main

来源:百度知道 编辑:UC知道 时间:2024/09/20 02:56:13
我是java菜鸟,买了一本<21天学java2>,运行它里面的例子时就出现上面的问题,比如运行
package com.prefect.ecommerce;

import java.util.*;

public class Item implements Comparable {
private String id;
private String name;
private double retail;
private int quantity;
private double price;

Item(String idIn, String nameIn, String retailIn, String quanIn) {
id = idIn;
name = nameIn;
retail = Double.parseDouble(retailIn);
quantity = Integer.parseInt(quanIn);

if (quantity > 400)
price = retail * .5D;
else if (quantity > 200)
price = retail * .6D;
else
price = retail * .7D;
price = Math.floor( price * 100 + .5 ) / 100;
}

public int compareTo(Object obj) {
Item temp = (Item)obj;
if (this.price < temp.price)

你的程序少了main()方法,这是java程序的入口。
接着程序写:(先把public class Item implements Comparable 里的public 去掉)
public class Test
{
public static void main(String [] args)
{
Item item=new Item("idid","name","440","510");
System.out.println(item.getName());
System.out.println(item.getRetail());
System.out.println(item.getQuantity());
System.out.println(item.getPrice());

}
}
这个是简单的实现测试你的程序好不好使,我还没编译运行过 你试试呵呵。

把你的package com.prefect.ecommerce; 删除再编译运行

你的问题是没有MAIN方法,跟PACKAGE没关系。
MAIN方法是JAVA类的对外的接口,如果把JAVA类比作房子,MAIN就是房子的大门。一个没有大门的房子你怎么进得去。你的程序中没有MAIN方法,编译器不知道从哪开始运行你的程序。就是这个问题。