我开始编程JAVA,我的程序出了点问题

时间:2014-06-08 00:02:05

标签: java

班级项目:

package ecommerce; 

import java.util.*;

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

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)
        return 1;
    else if (this.price > temp.price)
        return -1;
    return 0;
}

public String getId(){
    return id;
}

public String getName(){
    return name;
}

public double getRetail(){
    return retail;
}

public int getQuantity(){
    return quantity;
}

public double getPrice(){
    return price;
}

}

Class Storefont:

package ecommerce;

    import java.util.*;

    public class Storefront{
        private LinkedList catalog = new LinkedList( );

    public void addItem(String id,String name, String price, String quant){

        Item it = new Item(id,name,price,quant);
        catalog.add(it);
    }

    public Item getItem(int i) {
        return(Item)catalog.get(i);
    }

    public int getSize( ) {
        return catalog.size( );
    }

    public void sort( ){
        Colletions.sort(catalog);
            }

                   }
那可能是什么? 我从蓝J开始,我只是从一本书复制。 我检查然后,没找到任何东西...... 好吧,当运行Item时,它似乎正在工作。它要求提供新对象的信息,然后我将随机信息提供给Blue J. 但是,当我把“好”,它没有运行。

  • 我提出的实例名称是Bird
  • ID为101。
  • nameIn是Apple。
  • retailIn是7,5。
  • quanIn是8。 但随后出现错误:预期。

    我把收藏放正确,但它根本不起作用...... 对不起英文。

    嗯......出现了新的东西 “上次编译的警告.C:\ users ....... \ storefront.java使用unchecked或unsafe ...使用-Xlint重新编译:未选中以获取详细信息”

  • 2 个答案:

    答案 0 :(得分:1)

    我注意到你在上一个方法中误导了collections

    public int getSize( ) {
        return catalog.size( );
    }
    
    public void sort( ){
        Colletions.sort(catalog);
            }
    

    您还需要确保您的安装和路径/类路径正确。

    首先尝试纠正拼写错误然后:

    1. 执行命令重新编译.java文件:
      • Windows:c:\> javac myfile.java
      • * nix:$ javac myfile.java
    2. 执行命令运行.java文件:
      • Windows:c:\> java myfile
      • * nix:$ java myfile
    3. 如果仍然无效,请查看安装和配置java的链接,然后运行您的第一个java程序:
    4. http://javarevisited.blogspot.com/2011/11/run-java-program-from-command-prompt.html

      在任何情况下,您是否收到任何可以发布的错误?

    答案 1 :(得分:0)

    您的错误是由于错误拼写收藏而造成的。

    更改

    Colletions.sort(catalog);
    

    Collections.sort(catalog);
    

    您的警告是由缺少类型参数引起的

    更改

    private LinkedList catalog = new LinkedList( );
    

    private LinkedList<Item> catalog = new LinkedList<Item>( );
    

    您也会收到警告,因为您没有将您的导入用于Item类。 并且您需要向Comparable

    添加类型参数

    更改

    public class Item implements Comparable 
    

    public class Item implements Comparable<Object> 
    

    为了将来参考,使用JDK可以轻松找到这类错误,例如Eclipse