java 编译的问题!

lijinqian 2004-12-23 06:38:25
有如下两个class:
1、Item.java

package com.testing.session;

public class Item {
String Sku,name,description;
double price;
public Item(){}
public Item(String s,String n,String d,double p){
Sku=s;
name=n;
description=d;
price=p;
}
public String getName(){
return name;
}
public String getSku(){
return Sku;
}
public String getDescription(){
return description;
}
public double getPrice(){
return price;
}
}

2、ShoppingCart

package com.testing.session;

import java.util.*;

public class ShoppingCart {
Vector items=new Vector(10);
public void additem(Item i){
items.addElement(i);
}
public void deleteitem(String sku){
Enumeration itemEnum=getItems();
while(itemEnum.hasMoreElements()){
Item item=(Item)itemEnum.nextElement();
if (item.getSku().equals(sku)){
items.removeElement(item);
break;
}
}
}
public void emptyCart(){
items=new Vector(10);
}
public Enumeration getItems(){
return items.elements();
}
public double computerTotal(){
Enumeration itemEnum=getItems();
double total=0;
while(itemEnum.hasMoreElements()){
Item item=(Item)itemEnum.nextElement();
total=total + item.getPrice();
}
return total;
}
}

在此目录下使用javac 编译文件,Item.java可以正常编译成Item.class,编译ShoppingCart.java时报如下6个错误:
ShoppingCart.java:7:cannot resolve symbol
symbol : class Item
location: class com.testing.session.ShoppingCart
public void additem(Item i){
^

ShoppingCart.java:13:cannot resolve symbol
symbol : class Item
location: class com.testing.session.ShoppingCart
Item item=(Item)itemEnum.nextElement();
^
.........

ShoppingCart.java:31:incompatible types
found : java.lang.String
required: double
total=total + item.getPrice()
^

问各位大大,是什么问题?该如何解决!谢谢
...全文
71 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨星 2004-12-23
  • 打赏
  • 举报
回复
因为你使用了包。
应该在你的目录下新建三层跟包相通的目录:
com/testing/session/
然后把Item.java,ShoppingCart.java都拷贝到session目录底下。
然后运行:
javac com/testing/session/Item.java
javac com/testing/session/ShoppingCart.java
也可以:
javac com/testing/session/*.java

当然,也可以不用这样建目录,而是直接一起编译两个文件:
javac Item.java ShoppingCart.java
但不太符合Java的要求。

takecare 2004-12-23
  • 打赏
  • 举报
回复
设置当前路径到classpath,同时移动到com的上层目录,编译:
javac com/testing/session/ShoppingCart.java

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧