}
}
}
(3)上下文PrintGame.java
publicclassPrintGame{
PrintCharacterstrategy;
publicvoidsetStrategy(PrintCharacterstrategy){
this.strategy=strategy;
}
publicvoidgetPersonScore(char[]a,char[]b){
if(strategy==null)
else
strategy.printTable(a,b);
}
}
应用以上策略:
publicclassApplication{
publicstaticvoidmain(Stringargs[]){
char[]a=newchar[26];
char[]b=newchar[26];
for(inti=0;i<=25;i++){
a[i]=(char)('a'+i);
}
for(inti=0;i<=25;i++){
b[i]=(char)('A'+i);
}
PrintGamegame=newPrintGame();//上下文对象
game.setStrategy(newPrintStrategyOne());//上下文对象使用策略一
game.getPersonScore(a,b);
game.setStrategy(newPrintStrategyTwo());//上下文对象使用策略二
game.getPersonScore(a,b);
}
}
习题9
1.A,B,D
2.Love:
Game
3.13
abc夏日
4.13579
5.9javaHello
6.
publicclassXiti6{
publicstaticvoidmain(Stringargs[]){
Strings1,s2,s3,t1="ABCDabcd";
s1=t1.toUpperCase();
s2=t1.toLowerCase();
s3=s1.concat(s2);
}
}
7.
classXiti7
{publicstaticvoidmain(Stringargs[])
{Strings="中华人民共和国";
chara=s.charAt(0);
charb=s.charAt(6);
}
}
8.
importjava.util.*;
classXiti8
{publicstaticvoidmain(Stringargs[]){
intyear,month;
Scannerreader=newScanner(System.in);
year=reader.nextInt();
month=reader.nextInt();
String[]day=newString[42];
Calendarrili=Calendar.getInstance();
rili.set(year,month-1,1);//将日历翻到year年month月1日,注意0表示一月...11表示十二月
int星期几=rili.get(Calendar.DAY_OF_WEEK)-1;
intdayAmount=0;
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
dayAmount=31;
if(month==4||month==6||month==9||month==11)
dayAmount=30;
if(month==2)
if(((year%4==0)&&(year%100!
=0))||(year%400==0))
dayAmount=29;
else
dayAmount=28;
for(inti=0;i<星期几;i++)
day[i]="";
for(inti=星期几,n=1;i<星期几+dayAmount;i++){
if(n<=9)
day[i]=String.valueOf(n)+"";
else
day[i]=String.valueOf(n);
n++;
}
for(inti=星期几+dayAmount;i<42;i++)
day[i]="";
for(inti=0;i<星期几;i++)
{day[i]="**";
}
for(inti=0;i{if(i%7==0)
}
}
}
}
9.
importjava.util.*;
classXiti9
{publicstaticvoidmain(Stringargs[]){
intyear1,month1,day1,year2,month2,day2;
Scannerreader=newScanner(System.in);
year1=reader.nextInt();
month1=reader.nextInt();
day1=reader.nextInt();
year2=reader.nextInt();
month2=reader.nextInt();
day2=reader.nextInt();
Calendarcalendar=Calendar.getInstance();
calendar.set(year1,month1,day1);
longtimeYear1=calendar.getTimeInMillis();
calendar.set(year2,month2,day2);
longtimeYear2=calendar.getTimeInMillis();
long相隔天数=Math.abs((timeYear1-timeYear2)/(1000*60*60*24));
year2+"年"+month2+"月"+day2+"日相隔"+相隔天数+"天");
}
}
10.
publicclassXiti10
{publicstaticvoidmain(Stringargs[])
{doublea=0,b=0,c=0;
a=12;
b=24;
c=Math.max(a,b);
c=Math.min(a,b);
c=Math.pow(2,3);
c=Math.abs(-0.123);
c=Math.asin(0.56);
c=Math.cos(3.14);
c=Math.exp
(1);
c=Math.log(8);
}
}
习题10
1.BorderLayout布局。
2.不可以。
3.A,C。
4.
importjava.awt.*;
importjavax.swing.*;
publicclassXiti4
{publicstaticvoidmain(Stringargs[])
{ComputerFramefr=newComputerFrame();
fr.setTitle("计算的窗口");
}
}
classComputerFrameextendsJFrameimplementsTextListener
{TextAreatext1,text2;
intcount=1;
doublesum=0,aver=0;
publicComputerFrame()
{setLayout(newFlowLayout());
text1=newTextArea(6,20);
text2=newTextArea(6,20);
add(text1);
add(text2);
text2.setEditable(false);
text1.addTextListener(this);
setSize(300,320);
setVisible(true);
addWindowListener(newWindowAdapter()
{publicvoidwindowClosing(WindowEvente)
{System.exit(0);
}
});
validate();
}
publicvoidtextValueChanged(TextEvente)
{Strings=text1.getText();
sum=0;
aver=0;
StringTokenizerfenxi=newStringTokenizer(s,",'\n'");
intn=fenxi.countTokens();
count=n;
doublea[]=newdouble[n];
for(inti=0;i<=n-1;i++)
{Stringtemp=fenxi.nextToken();
try{a[i]=Double.parseDouble(temp);
sum=sum+a[i];
}
catch(Exceptionee)
{count--;
}