package?com.imooc;
import?java.util.ArrayList;
import?java.util.List;
import?java.util.Scanner;
public?class?Util?{
public?static?List<ChinaPlayers>?ListChinaPlayers;
public?static?List<SpainPlayers>?ListSpainPlayers;
public?static?List<YourTeam>?ListYourTeam;
public?Util(){
this.ListChinaPlayers?=?new?ArrayList<ChinaPlayers>();
this.ListSpainPlayers?=?new?ArrayList<SpainPlayers>();
this.ListYourTeam?=?new?ArrayList<YourTeam>();
}
public?void?add(){
ChinaPlayers?p1?=?new?ChinaPlayers(1,"郜林????",?29,?"邊鋒",75?);
ListChinaPlayers.add(p1);
ChinaPlayers?p2?=?new?ChinaPlayers(2,"韋世豪",?22,?"中鋒",?75);
ListChinaPlayers.add(p2);
SpainPlayers?p3?=?new?SpainPlayers(3,"伊斯科",?23,?"前腰",?85,?1);
ListSpainPlayers.add(p3);
SpainPlayers?p4?=?new?SpainPlayers(4,"莫雷諾",?21,?"后衛(wèi)",?81,?0);
ListSpainPlayers.add(p4);
}
public?static?void?testShow(){
Util?util?=?new?Util();
util.add();
System.out.println("??姓名:???年齡:??位置:??能力:?獎杯數(shù):");
for?(ChinaPlayers?ChinaPlayer?:?ListChinaPlayers)?{
System.out.println(ChinaPlayer.getId()+"、"+ChinaPlayer.getName()+"??????"+ChinaPlayer.getAge()+"????"
+ChinaPlayer.getPosition()+"?????????"+ChinaPlayer.getAbility());
}
for(SpainPlayers?SpainPlayer?:ListSpainPlayers){
System.out.println(SpainPlayer.getId()+"、"+SpainPlayer.getName()+"??????"+SpainPlayer.getAge()+"????"
+SpainPlayer.getPosition()+"?????????"+SpainPlayer.getAbility()+"????"+SpainPlayer.getCupNum());
}
}
public?static?void?test2(){
Util?util?=?new?Util();
util.add();
Scanner?console?=?new?Scanner(System.in);
int?id?=?console.nextInt();
int?i=0;
while?(i<ListChinaPlayers.size())?{
if(id==(ListChinaPlayers.get(i).getId())){
YourTeam?p1?=?new?YourTeam(ListChinaPlayers.get(i).getId(),
ListChinaPlayers.get(i).getName(),
ListChinaPlayers.get(i).getAge()
,ListChinaPlayers.get(i).getPosition(),
ListChinaPlayers.get(i).getAbility(),?0);
ListYourTeam.add(p1);
System.out.println("成功交易"+ListYourTeam.get(i).getName());
break;
}else?if(id==(ListSpainPlayers.get(i).getId())){
YourTeam?p1?=?new?YourTeam(ListSpainPlayers.get(i).getId(),
ListSpainPlayers.get(i).getName(),
ListSpainPlayers.get(i).getAge(),
?ListSpainPlayers.get(i).getPosition(),?
ListSpainPlayers.get(i).getAbility(),
ListSpainPlayers.get(i).getCupNum());
ListYourTeam.add(p1);
System.out.println("成功交易"+ListYourTeam.get(i).getName());
break;
}else{
System.out.println("無此球員");
}i++;
}
}
public?void?testShow2(){
System.out.println("當前球隊名單:");
System.out.println("姓名:???年齡:??位置:??能力:?獎杯數(shù):");
for?(YourTeam?YourTeam:?ListYourTeam)?{
System.out.println(YourTeam.getName()+"??????"+YourTeam.getAge()+"????"
+YourTeam.getPosition()+"?????????"+YourTeam.getAbility());}
}
public?void?test(){
Util?util?=?new?Util();
System.out.println("歡迎買賣球員");
System.out.println("請問你確定要買賣球員嗎(是:1/否:0)");
Scanner?console?=?new?Scanner(System.in);
int?s?=?console.nextInt();
if(s==0){
System.out.println("拜拜");}
else?if(s==1){
System.out.println("請選擇您要交易的球員Id:");
Util.testShow();
Util.test2();
}else{
System.out.println("對不起,請重新輸入");
util.test();
}
}
/**
?*?@param?args
?*/
public?static?void?main(String[]?args)?{
Util?util?=?new?Util();
util.test();
util.testShow2();
}
}
public?class?Player?{
@Override
public?int?hashCode()?{
final?int?prime?=?31;
int?result?=?1;
result?=?prime?*?result?+?ability;
result?=?prime?*?result?+?age;
result?=?prime?*?result?+?((name?==?null)???0?:?name.hashCode());
result?=?prime?*?result
+?((position?==?null)???0?:?position.hashCode());
return?result;
}
@Override
public?boolean?equals(Object?obj)?{
if?(this?==?obj)
return?true;
if?(obj?==?null)
return?false;
if?(getClass()?!=?obj.getClass())
return?false;
Player?other?=?(Player)?obj;
if?(ability?!=?other.ability)
return?false;
if?(age?!=?other.age)
return?false;
if?(name?==?null)?{
if?(other.name?!=?null)
return?false;
}?else?if?(!name.equals(other.name))
return?false;
if?(position?==?null)?{
if?(other.position?!=?null)
return?false;
}?else?if?(!position.equals(other.position))
return?false;
return?true;
}
private??int?id;
private??String?name;
private??int?age;
private??String?position;
private??int?ability;
public?Player(int?id,String?name,int?age,String?position,int?ability){
this.id?=?id;
this.name?=?name;
this.age?=?age;
this.position?=?position;
this.ability?=?ability;
}
public??String?getName()?{
return?name;
}
public?void?setName(String?name)?{
this.name?=?name;
}
public?int?getAge()?{
return?age;
}
public?void?setAge(int?age)?{
this.age?=?age;
}
public?String?getPosition()?{
return?position;
}
public?void?setPosition(String?position)?{
this.position?=?position;
}
public?int?getAbility()?{
return?ability;
}
public?void?setAbility(int?ability)?{
this.ability?=?ability;
}
public?int?getId()?{
return?id;
}
public?void?setId(int?id)?{
this.id?=?id;
}?
}
public?class?ChinaPlayers?extends?Player?{
public?ChinaPlayers(int?id,String?name,int?age,String?position,int?ability){
super(id,name,age,position,ability);
}
}
public?class?SpainPlayers?extends?Player{
private?int?cupNum;
public?SpainPlayers(int?id,String?name,?int?age,?String?position,?int?ability,int?cupNum)?{
super(id,name,?age,?position,?ability);
this.setCupNum(cupNum);
//?TODO?Auto-generated?constructor?stub
}
public?int?getCupNum()?{
return?cupNum;
}
public?void?setCupNum(int?cupNum)?{
this.cupNum?=?cupNum;
}
}
public?class?YourTeam?extends?Player?{
private?int?cupNum;
public?YourTeam(int?id,String?name,int?age,String?position,int?ability,int?cupNum)?{
super(id,?name,?age,?position,?ability);
this.cupNum?=?cupNum;
//?TODO?Auto-generated?constructor?stub
}
public?int?getCupNum()?{
return?cupNum;
}
public?void?setCupNum(int?cupNum)?{
this.cupNum?=?cupNum;
}
}當輸入球員id2或4時,出現(xiàn)bugException in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 at java.util.ArrayList.RangeCheck(ArrayList.java:547) at java.util.ArrayList.get(ArrayList.java:322) at com.imooc.Util.test2(Util.java:56) at com.imooc.Util.test(Util.java:95) at com.imooc.Util.main(Util.java:107)
新手 java集合 練習中出現(xiàn)的bug問題 求大神解答 謝謝?。?/h1>
qq_Chrysler_0
2015-09-04 22:12:26
qq_Chrysler_0
2015-09-04 22:12:26