-
-
[旧帖] [求助]关于包的问题:一个例子大家帮我看看为什么在Item那里出了错误 0.00雪花
-
发表于: 2009-4-14 17:07 2196
-
首先我创建了一个叫com.prefect.ecommerce的包
在包里面创建了源文件Item.java文件如下
package com.prefect.ecommerce;
import java.util.*;
public class Item implements Comparable{
private String id;
private String name;
private double retail;
private int quantity;
private double price;
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;
}
}
然后我创建了一个类Storefront.java(问题1:这个类我需不需要放在com.prefect.ecommerce里面?)创建的类的源代码如下
package com.prefect.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(){
Collections.sort(catalog);
}
}
最后我写了个程序用到了包,程序名Giftshop.java程序如下
import com.prefect.ecommerce.*;
public class Giftshop{
public static void main(String[] arguments){
Storefront store=new Storefront();
store.addItem("C01", "MUG", "9.99", "150");
store.addItem("C02", "LG MUG", "12.99", "82");
store.addItem("C03", "MOUSEPAD", "10.49", "800");
store.addItem("D01", "T SHIRT", "16.99", "90");
for(int i=0;i<store.getSize();i++){
Item show =(Item)store.getItem(i);//这里出现了错误说Cannot cast from com.prefect.ecommerce.Item to Item?我不知道哪里写错了这里应该是不能导入Item
System.out.println("\nItem ID: "+show.getId()+
"\nName"+show.getName()+
"\nRetail Price: $"+show.getRetail()+
"\nPrice: $"+show.getPrice()+
"\nQuantity: "+show.getQuantity());
}
}
}
'转载请注明出自外挂海编程论坛,本贴地址:http://bbs.wghai.com/thread-131480-1-1.html
在包里面创建了源文件Item.java文件如下
package com.prefect.ecommerce;
import java.util.*;
public class Item implements Comparable{
private String id;
private String name;
private double retail;
private int quantity;
private double price;
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;
}
}
然后我创建了一个类Storefront.java(问题1:这个类我需不需要放在com.prefect.ecommerce里面?)创建的类的源代码如下
package com.prefect.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(){
Collections.sort(catalog);
}
}
最后我写了个程序用到了包,程序名Giftshop.java程序如下
import com.prefect.ecommerce.*;
public class Giftshop{
public static void main(String[] arguments){
Storefront store=new Storefront();
store.addItem("C01", "MUG", "9.99", "150");
store.addItem("C02", "LG MUG", "12.99", "82");
store.addItem("C03", "MOUSEPAD", "10.49", "800");
store.addItem("D01", "T SHIRT", "16.99", "90");
for(int i=0;i<store.getSize();i++){
Item show =(Item)store.getItem(i);//这里出现了错误说Cannot cast from com.prefect.ecommerce.Item to Item?我不知道哪里写错了这里应该是不能导入Item
System.out.println("\nItem ID: "+show.getId()+
"\nName"+show.getName()+
"\nRetail Price: $"+show.getRetail()+
"\nPrice: $"+show.getPrice()+
"\nQuantity: "+show.getQuantity());
}
}
}
'转载请注明出自外挂海编程论坛,本贴地址:http://bbs.wghai.com/thread-131480-1-1.html
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
看原图
赞赏
雪币:
留言: