版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第10章課后習(xí)題參考答案
1.有三個雇員,其信息如下。
姓名職務(wù)年齡工資
王振經(jīng)理405000
劉莉莉出納333200
王紅秘書252800
對雇員信息進(jìn)行如下操作。
(1)創(chuàng)建一個ArrayList對象,將這三個雇員信息存儲到這個ArrayLisl對象中。
(2)將ArrayList對象中的元素顯示一遍。
(3)在“劉莉莉”前插入一個新雇員,其信息為:
張芳副經(jīng)理384200
插入后將ArrayList對象中的元素再顯示出來。
(4)從ArrayList對象中刪除“劉莉莉”后再將其中的元素顯示出來。
答:
importjava.util.ArrayList;
importjava.util.*;
classEmployee
(
Stringname;
Stringoccupation;
intage;
intsalary;
publicEmployee(Stringn,Stringojntage,ints)
(
name=n;
occupation=o;
age=this.age;
salary=s;
)
publicStringgetName()
(
returnname;
)
publicvoidoutput()
{
System.out.println(name4-"_,,+occupation+,,_"4-age+,,_,,+salary);
publicclassexercise10_01
|
publicstaticvoidmain(String[]args)
Scannerreader=newScanner(System.in);
Stringnm,occu;
intage,salary;
ArrayList<Employee>employeeList=newArrayList<Employee>();
Employeee;
e=newEmployee(“王振",“經(jīng)理”,40,5000);
employeeList.add(e);
e=newEmployee(“文U莉莉“,“出納”,33,3200);
employeeList.add(e);
e=newEmployee(“王紅“,“秘,書”,25,2800);
employeeList.add(e);
Iteratorit=employeeList.iterator();
while(it.hasNext())
(
e=(Employee)it.next();
e.output();
)
System.out.println();
for(inti=0;i<employeeList.size();i++)
(
if(((Employee)employeeList.get(i)).getName().equals("劉莉莉"))
(
e=newEmployee(“張芳“,“副經(jīng)理”,38,4200);
empIoyeeList.add(i,e);
break;
)
}
it=employeeList.iterator();
while(it.hasNext())
(
e=(Employee)it.next();
e.output();
)
System.out.println();
for(inti=0;i<employeeList.size();i++)
(
if(((Employee)employeeList.get(i)).getName().equals("劉莉莉"))
(
employeeList.remove(i);
break;
I
)
it=employeeList.iterator();
while(it.hasNext())
e=(Employee)it.next();
e.output();
)
}
)
2.定義注解類用于描述“水果”的信息,水果的信息有:名稱、顏色、經(jīng)銷商(包括經(jīng)銷商編
號和名稱)、供貨商(包括供貨商編號、姓名和地址),用自定義的水果注解類標(biāo)注水果,并能從
注解中提取水果信息。
答:
importjava.lang.reflect.*;
importjava.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)〃元注解,運(yùn)行時保留注解,必須有,否則注解值讀不出
?interfaceFruilDealer//定義注解
(
〃定義注解元素,都有缺省值
publicStringcode()default',00ln;
publicStringname()defaull”旺旺生鮮超市”;
)
@Retention(RetentionPolicy.RUNTIME)
?interfaceFruitSupplier〃定義注解
(
publicStringname()default”南國梨莊園”;
publicStringcode()defaultn002M;
publicStringaddress()default"鞍山”;
)
@Retention(RetentionPolicy.RUNTIME)
?interfaceFruitColor〃定義注解
(
publicStringvalue()default"綠色”;
)
@Retention(RetentionPolicy.RUNTIME)
?interfaceFruilName〃定義注解
(
publicStringvalue()default"蘋果”;
classFruit
@FruitName(“香蕉”)
publicStringname;
@FruitColor(“黃色”)
publicStringcolor;
〃為域dealer加注解,給部分元素賦值,其余用缺省值
//如果注解元素都用缺省值,則直接寫@FruitDealer
@FruitDealer(name=u果果M,code=H201")
publicStringdealer;
@FruitSupplier(name=n萊陽梨”,8(1-"222”再(1加50="山東”)
publicStringsupplier;〃域有注解
publicvoidsetDealer(Stringm)
{
dealer=m;
)
publicStringgetDealer()
{
returndealer;
)
publicvoidsetSupplier(Stringsupplier)
(
this.supplier=supplier;
)
publicStringgetSupplier()
(
returnsupplier;
)
publicvoidsetName(Stringname)
{
=name;
)
publicStringgetName()
{
returnname;
)
publicvoidsetColor(Stringcolor)
|
this.color=color;
publicStringgetColor()
returncolor;
publicclassexercise10_02
(
publicstaticvoidmain(StringargslJ)
(
System.out.println(readAnnotation(Fruit.class));
)
〃讀注解信息
privatestaticStringreadAnnotation(ClassaClass)
(
Stringdealer="經(jīng)銷商:“;
Stringsupplie戶"供貨商:”;
Stringname="名字:
Stringcolor="顏色:";
Fieldfields[]=aClass.getDeclaredFields();//^MXFruit類的所有字段
for(FieldaFieldfelds)〃對每一個字段判斷
{
〃字段的注解是FruitDealer類型
if(aField.isAnnotationPresenl(FruitDealer.class))
(
FruitDealeraDealer;//聲明一個注解變量
//調(diào)用getAnnotation方法獲得在aField域上的注解“實(shí)例”
aDealer=(FruitDealer)aField.getAnnotation(FruitDealer.class);
dealer+二aDealer.code()+"
dealer4-=aD()4-"\n,';
)
//字段的注解是FruitSupplier類型
elseif(aField.isAnnotationPresent(FruitSupplier.class))
(
FruitSupplieraSupplier;
aSupplier=(FruitSupplier)aField.getAnnotation(FruitSupplier.class);
supplier+=aS()+n";
supplier+=aSupplier.code()+"";
supplier+=aSupplier.address()+"\nu;
)
elseif(aField.isAnnotationPresent(FruitName.class))
FruitNameaName;
aName=(FruitName)aField.getAnnotation(FruitName.class);
name+=aName.value()+u\nn;
elseif(aField.isAnnotationPresent(FruitColor.class))
(
FruitColoraColor;
aColor=(FruitColor)aField.getAnnotation(FruitColor.class);
color+=aColor.value()+u\n0;
)
}
returndealer+supplier+name+color;
)
)
3.利用反射機(jī)制,顯示出String類和Integer類中都有哪些域和方法。
答:
importjava.lang.reflect.*;
publicclassexercise10_03
(
publicstaticvoidmain(Stringargsf])throwsException
(
〃獲得一個表示String類的Class對象
Classobj=Class.forNameC'java.lang.String");
//獲取String類中的構(gòu)造方法
Constructorconslructor[]=obj.getConstructors();
System.out.println(HString類中的構(gòu)造方法:”);
for(Constructorcon:constructor)//將構(gòu)造方法輸出
System.out.println(con.toStringO);
System.out.printlnO;
//獲取Siring類中的所有域
Fieldfield[]=obj.getDeclaredFields();
System.out.printlnC'String類中的域:”);
for(Fieldf:field)
System.out.println(f.toStringO);
System.out.println();
//獲取String類中的所有方法
Methodmethod[]=obj.gelDeclaredMethods();
System.out.printlnC'String類中的方法:");
for(Methodm:method)
System.out.println(m);
System.out.println();
〃獲取Integer類中的構(gòu)造方法
obj=Class.fbrName("java.lang.lnteger");
//獲取Integer類中的構(gòu)造方法
constructor=obj.getConstructors();
System.out.println("Integer類中的構(gòu)造方法:”);
for(Constructorcon:constructor)〃將構(gòu)造方法輸出
System.out.println(con.toStringO);
System.out.println();
//獲取Inleger類中的所有域
field=obj.getDeclaredFields();
System.out.println(MInteger類中的域:");
for(Fieldf:field)
System.out.println(f.toStringO);
Systein.out.println();
//獲取Integer類中的所有方法
method=obj.getDeclaredMethodsO;
System.out.println("Integer類中的方法:”);
for(Methodm:method)
System.out.println(m);
System.out.println();
4.用LinkedList類實(shí)現(xiàn)判斷一個字符串是否是“回文二
答:
importjava.utiLLinkedList;
importjava.util.*;
publicclassexercise10_04
(
publicstaticvoidmain(Stringargsf])
{
LinkedListlist=newLinkedList();〃創(chuàng)建一個LinkedList對象list
Scannerreader=newScanner(System.in);
charchead,ctail;
Stringstr=reader.next();
for(inti=0;i<str.length();i++)〃將obj對象加入到list中
list.add(str.charAt(i));
while(list.size()>l)
(
chead=(char)Iist.pollFirst();〃刪除表頭元素
ctail=(char)list.pollLast();〃刪除表尾元素
if(chead!=ctail)
(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025交通事故致人死亡賠償協(xié)議書14篇
- 借款借貸合同協(xié)議書七篇
- 補(bǔ)水美容病因介紹
- 內(nèi)蒙古通遼市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版能力評測(下學(xué)期)試卷及答案
- 全國賽課一等獎初中統(tǒng)編版七年級道德與法治上冊單元思考與行動《追求美好人生》精美課件
- (2024年)藝術(shù)學(xué)校建設(shè)項(xiàng)目可行性研究報(bào)告
- 【中職專用】中職對口高考-機(jī)電與機(jī)制類專業(yè)-核心課-模擬試卷1(河南適用)(答案版)
- 2023年天津市和平區(qū)高考語文三模試卷
- 2023年復(fù)合管道項(xiàng)目融資計(jì)劃書
- 蔬菜園藝工中級考試題
- GB/T 30002-2024兒童牙刷通用技術(shù)要求
- 動畫制作員(高級工)技能鑒定理論考試題庫(含答案)
- 真空蒸鍍中部分金屬熔點(diǎn)及不同氣壓下蒸發(fā)溫度
- 中日標(biāo)準(zhǔn)件對照表
- (完整版)密閉式靜脈輸液技術(shù)操作評分標(biāo)準(zhǔn)
- 《賁門失弛緩癥》PPT課件課件
- 壩基滲漏問題分析
- 汽車連桿加工工藝規(guī)程及夾具設(shè)計(jì)畢業(yè)論文 (1)
- RP90型吉他綜合效果處理器操作手冊
- 外研版小學(xué)英語(三起)五年級下冊單詞表(含音標(biāo))
- 小化肥生產(chǎn)原理及過程
評論
0/150
提交評論