if(a[i]%3==0)s+=a[i];
System.out.println("s="+s);
}
}
运行结果:
S=180
3、importjava.io.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{
SubSubClassx=newSubSubClass(10,20,30);
x.show();
}
}
SuperClass(intaa,intbb)
{a=aa;b=bb;}
voidshow()
{System.out.println("a="+a+"\nb="+b);}
}
classSubClassextendsSuperClass
{intc;
SubClass(intaa,intbb,intcc)
{super(aa,bb);
c=cc;
}
}
classSubSubClassextendsSubClass
{inta;
SubSubClass(intaa,intbb,intcc)
{super(aa,bb,cc);
a=aa+bb+cc;
}
voidshow()
{System.out.println("a="+a+"\nb="+b+"\nc="+c);}
}
运行结果:
a=60
b=20
C=30
4、classA
{publicintf(intx)
{returnx+1;
}
}
classBextendsA
{publicintf(intx)
{returnx*x;
}
}
publicclassE
{publicstaticvoidmain(Stringargs[])
{Aa=newB();
intm=a.f(10);
System.out.println(m);
}
}
运行结果:
100
5、classA
{intx;
publicvoidsetx(intx)
{this.x=x;
}
intgetx()
{returnx;}
}
classB
{publicvoidf(Aa)
{a.setx(100);
}
}
publicclassE
{publicstaticvoidmain(Stringargs[])
{Aa=newA();
a.setx(8);
System.out.println(a.getx());
Bb=newB();
B.f(a);
System.out.println(a.getx());
}
}
运行结果:
8100
三、程序设计题
1、编写一个JavaApplet,使之能够在浏览器中显示“WelcometoJavaAppletWorld!
”的字符串信息。
参考程序如下:
importjava.awt.Graphics;
importjava.applet.*;
publicclassHelloAppletextendsApplet
{
publicvoidpaint(Graphicsg)
{
g.drawString("WelcometoJavaAppletWorld!
",50,50);
}
}
2、编写一个JavaApplication,显示“WelcometoJavaApplicationWorld!
”的字符串信息。
参考程序如下:
publicclassHelloWorld//定义类HelloWorld
{
publicstaticvoidmain(Stringargs[])//程序起始点
{
//控制台输出WelcometoJavaApplicationWorld!
System.out.println("WelcometoJavaApplicationWorld!
");
}
}
3、编程序计算1/1+1/2+1/3+……+1/100的值。
参考程序如下:
publicclassSum
{
publicstaticvoidmain(Stringargs[])
{
doublesum=0.0;
for(inti=1;i<=100;i++)
sum+=1.0/(double)i;
System.out.println("sum="+sum);
}
}
4编写一个日期类Date,要求:
(1)日期类Date属性有:
year:
int型,代表年。
month:
int型,代表月。
(2)日期类Date的方法有:
Date():
构造函数,日期的默认初值为2004年5月1日。
Date(inty,intm,intd):
构造函数、形参y,m,d分别为某个日期的年月日的初值。
intGetYear():
获取日期的年份作为方法的返回值。
intGetMonth():
获取日期的月份作为方法的返回值。
intGetDay():
获取日期的日作为方法的返回值。
voidShowDate():
以****年*****月*****日的形式显示一个日期。
参考程序如下:
publicclassDate
{
intyear,month,day;
Date(){year=2000;month=1;day=1;}
Date(inty,intm,intd){year=y;month=m;day=d;}
intGetYear(){returnyear;}
intGetMonth(){returnmonth;}
intGetDay(){returnday;}
voidShowDate()
{
System.out.println(year+"年"+month+"月"+day+"日");
}
}
5、定义的抽象生来表示“学生”,它派生出“小学生”、“中学生”、“大学生”、“研究生”四个大类,另外其中“大学生”类再派生出“一年级学生”、“二年级学生”、“三年级学生”、“四年级学生”四个子类,“研究生”类在派生出“硕士生”和“博士生”两个子类。
参考程序如下:
abstractclassstudent//抽象类
{
//学生的属性,如学号、姓名、性别、年龄
intstudentNo;
StringstudentName;
booleanstudentSex;
intstudentAge;
student(intsno,booleansex,intage)
{
studentNo=sno;
studentSex=sex;
studentAge=age;
}
voidmodifyage(intsno,intnewage)
{
if(studentNo==sno)
studentAge=newage;
}
}
//小学生类
classpupilextendsstudent
{
Stringstudentkind;
}
//中学生类
classmiddleStudentextendsstudent
{
Stringstudentkind;
}
//大学生类
classacademicianextendsstudent
{
Stringstudentkind;
}
//研究生类
classgraduatestudentextendsstudent
{
Stringstudentkind;
}
//大学一年级类
classfreshmanextendsacademician
{
Stringspecialty;
}
//大学二年级类
classsophomoreextendsacademician
{
Stringspecialty;
}
//大学三年级类
classjuniorextendsacademician
{
Stringspecialty;
}
//大学四年级类
classseniorextendsacademician
{
Stringspecialty;
}
//硕士研究生类
classmasterextendsgraduatestudent
{
Stringspecialty;
}
//博士研究生类
classdoctorextendsgraduatestudent
{
Stringspecialty;
}
6、编写图形界面下的JavaApplet程序,接受用户输人的两个数据为上、下限,然后10个一行输出上、下限之间的所有素数。
参考程序如下:
lb2=newLabel("下限");
in1=newTextField(5);
in2=newTextField(5);
out1=newTextArea();
out1.setEditable(false);//设为不可编辑
btn1=newButton("输出素数");
btn2=newButton("关闭");
add(lb1);
add(in1);
add(lb2);
add(in2);
add(btn1);
add(btn2);
add(result);
add(out1);
btn1.addActionListener(this);
btn2.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente)
{
intk=0;//设计数器
if(e.getSource()==btn1)//响应按钮“输出素数”的动作
{
out1.setText("\n");//新行输出
a=Integer.parseInt(in1.getText());
b=Integer.parseInt(in2.getText());
//判断是否素数,是则计数并加入输出子串S
Loop:
for(inti=b;i{
for(intj=2;j
{
if(i%j==0)
continueLoop;
}
k++;
if(k%10==0)//每10个数加个回车
s=s+i+","+"\n";
else
s=s+i+","
}
result.setText(b+"与"+a+"之间共有素数"+k+"个,输出如
下:
");
outl.setText(s);
}
elseSystem.exit(0);//单击"关闭"退出程序
}
}
7、请创建简单的程序ThreeThreads.java,它将创建三个线程,每个线程应当显示它们的名字。
//Printme.java
ClassprintmeimplementsRunnable{
Publicvoidrun()
{
for(intx=0;x<10;x++)
{
System.out.println(Thread.currentthread().getname());
try{
Thread.sleep(2000);
}catch(Exceptione){}
}
}
}
//TestthreeThreads.java
PublicclassTestThreeThreads{
Publicstaticvoidmain(Stringargs[])
{
RunnableprognewPrintme();
ThreadT1=newThread(prog);
ThreadT2=newThread(prog);
ThreadT3=newThread(prog);
T1.setName(“larry”);
T2.setName(“curly”);
T3.setName(“moe”);
T1.start.();
T2.start.();
T3.start.();
}
}