解决编译错误

问题:写了两个.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文件的上一级即与包在同一个文件夹,编译结果如下:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"ld returned 1 exit status"是一个编译错误,通常与链接器(ld)有关。这个错误表示链接器在链接过程中返回了非零的退出状态。这可能是由于以下几个原因导致的: 1. 缺少库文件:链接器无法找到所需的库文件。这可能是因为库文件未正确安装或未正确指定库文件的路径。 2. 重复定义符号:链接器发现了重复定义的符号。这可能是因为在多个源文件中定义了相同的全局变量或函数。 3. 缺少依赖项:链接器无法找到所需的依赖项。这可能是因为某个依赖项未正确安装或未正确指定依赖项的路径。 解决"ld returned 1 exit status"错误的方法取决于具体的情况。以下是一些常见的解决方法: 1. 检查库文件路径:确保所需的库文件已正确安装,并且在编译命令中正确指定了库文件的路径。 2. 检查重复定义符号:如果错误消息中提到了重复定义的符号,请检查代码中是否存在重复定义的全局变量或函数,并进行相应的修复。 3. 检查依赖项:如果错误消息中提到了缺少依赖项,请确保所需的依赖项已正确安装,并且在编译命令中正确指定了依赖项的路径。 4. 检查编译选项:有时候编译选项可能不正确,导致链接错误。请确保编译选项正确设置,并且与所使用的编译器和链接器兼容。 5. 查看详细错误信息:尝试查看详细的错误信息,以了解更多关于链接错误的具体原因。这可以帮助你更好地定位和解决问题。 请注意,以上方法只是一些常见的解决方法,具体的解决方法可能因情况而异。如果以上方法无法解决问题,请提供更多的错误信息和相关的代码,以便更好地帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值