主题:哈希表的一个简单应用,怎么就有错误了呢?用的是JBuilder 2007
import java.util.*;
public class ComicBooks
{
public static void main(String[] args)
{
Hashtable quality=new Hashtable(20,0.5F);
try
{
Float price1=new Float(3.00F);
quality.put("mint", price1);
Float price2=new Float(2.00F);
quality.put("near mint",price2);
Float price3=new Float(1.50F);
quality.put("very fint",price3);
Float price4=new Float(1.00F);
quality.put("fine",price4);
Float price5=new Float(0.50F);
quality.put("good",price5);
Float price6=new Float(0.25F);
quality.put("poor",price6);
}
catch(Exception e)
{
e.printStackTrace();
}
Comic[] comix=new Comic[3];
comix[0]=new Comic("amazing spioer-man","1A","very fine",5400.00F);
comix[0].setPrice((Float)quality.get(comix[0].condition));
comix[1]=new Comic("Incerdible Hullk","181","near mint",770.00F);
comix[1].setPrice((Float)quality.get(comix[1].condition));
comix[2]=new Comic("Cerebus","22A","good",230.00F);
comix[2].setPrice((Float)quality.get(comix[2].condition));
for(int i=0;i<comix.length;i++)
{
System.out.println("Title: "+comix[i].title);
System.out.println("Issue: "+comix[i].issueNumber);
System.out.println("Condition: "+comix[i].condition);
System.out.println("Price:$ "+comix[i].price+"\n");
}
}
}
class Comic
{
String title;
String issueNumber;
String condition;
float basePrice;
float price;
Comic(String inTitle,String inIssueNumber,String inCondition,float inBasePrice)
{
title=inTitle;
issueNumber=inIssueNumber;
condition=inCondition;
basePrice=inBasePrice;
}
void setPrice(Float factor)
{
float multiplier=factor.floatValue();
price=basePrice*multiplier;
}
}
public class ComicBooks
{
public static void main(String[] args)
{
Hashtable quality=new Hashtable(20,0.5F);
try
{
Float price1=new Float(3.00F);
quality.put("mint", price1);
Float price2=new Float(2.00F);
quality.put("near mint",price2);
Float price3=new Float(1.50F);
quality.put("very fint",price3);
Float price4=new Float(1.00F);
quality.put("fine",price4);
Float price5=new Float(0.50F);
quality.put("good",price5);
Float price6=new Float(0.25F);
quality.put("poor",price6);
}
catch(Exception e)
{
e.printStackTrace();
}
Comic[] comix=new Comic[3];
comix[0]=new Comic("amazing spioer-man","1A","very fine",5400.00F);
comix[0].setPrice((Float)quality.get(comix[0].condition));
comix[1]=new Comic("Incerdible Hullk","181","near mint",770.00F);
comix[1].setPrice((Float)quality.get(comix[1].condition));
comix[2]=new Comic("Cerebus","22A","good",230.00F);
comix[2].setPrice((Float)quality.get(comix[2].condition));
for(int i=0;i<comix.length;i++)
{
System.out.println("Title: "+comix[i].title);
System.out.println("Issue: "+comix[i].issueNumber);
System.out.println("Condition: "+comix[i].condition);
System.out.println("Price:$ "+comix[i].price+"\n");
}
}
}
class Comic
{
String title;
String issueNumber;
String condition;
float basePrice;
float price;
Comic(String inTitle,String inIssueNumber,String inCondition,float inBasePrice)
{
title=inTitle;
issueNumber=inIssueNumber;
condition=inCondition;
basePrice=inBasePrice;
}
void setPrice(Float factor)
{
float multiplier=factor.floatValue();
price=basePrice*multiplier;
}
}