班级项目:
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.
但是,当我把“好”,它没有运行。
我把收藏放正确,但它根本不起作用...... 对不起英文。
嗯......出现了新的东西 “上次编译的警告.C:\ users ....... \ storefront.java使用unchecked或unsafe ...使用-Xlint重新编译:未选中以获取详细信息”
答案 0 :(得分:1)
我注意到你在上一个方法中误导了collections
:
public int getSize( ) {
return catalog.size( );
}
public void sort( ){
Colletions.sort(catalog);
}
您还需要确保您的安装和路径/类路径正确。
首先尝试纠正拼写错误然后:
.java
文件:
c:\>
javac myfile.java
$
javac myfile.java
.java
文件:
c:\>
java myfile
$
java myfile
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