问题:写了两个.java文件然后写了一个1.bat文件,将两个.java文件和1.bat文件放在一个包中(1.bat文件是用来将.java文件编译成.class文件的),用1.bat编译其中一个.java文件时出现错误如下
两个.java文件分别是
Price.java:
package ShoppingCart;
public class Price
{
public float getPrice(String sBookName)
{
if(sBookName.equals("Thinking in Java"))
return new Float(23.0);
else if(sBookName.equals("Core Java 2"))
return new Float(32.5);
else if(sBookName.equals("Special Edition Using Java2"))
return new Float(29.6);
else if(sBookName.equals("Java Coding"))
return new Float(13.3);
else if(sBookName.equals("JSP HandBook"))
return new Float(63.2);
else
return new Float(0);
}
}
ShoppingCart.java:
package ShoppingCart;
import java.util.Vector;
import java.util.Enumeration;
//这个类是购物车的JavaBean类
public class ShoppingCart{
Vector < String > v = new Vector < String > ();
String submit = null;
String item = null;
float fSum = 0;
Price bookPrice = new Price();
//向购物车的Vector中增加一个条目
private void addItem(String name){
v.addElement(name);
fSum = fSum + bookPrice.getPrice(name);
}
//从购物车的Vector中取出一个条目
private void removeItem(String name){
if (v.removeElement(name)){
fSum = fSum - bookPrice.getPrice(name);
}
}
//计算总价
public float getSumprice(){
return fSum;
}
//设置item
public void setItem(String name){
item = name;
}
//设置Submit
public void setSubmit(String s){
submit = s;
}
//获取购物车中的所有商品
public String[] getItems(){
String[] s = new String[v.size()];
v.copyInto(s);
return s;
}
public void processRequest(){
if (submit != null){
if (submit.equals("add")){
addItem(item);
}
else if (submit.equals("remove")){
removeItem(item);
}
}
reset();
}
//清空购物车
private void reset(){
submit = null;
item = null;
}
}
1.bat:
cmd
javac ComputerBean\*.java
解决方法一:
将两个.java文件中的package ShoppingCart;去掉就可以编译成两个.class文件了。
解决方法二:
将1.bat文件放在.java文件的上一级即与包在同一个文件夹,编译结果如下: