Java期末练习题和答案docxWord文件下载.docx
《Java期末练习题和答案docxWord文件下载.docx》由会员分享,可在线阅读,更多相关《Java期末练习题和答案docxWord文件下载.docx(14页珍藏版)》请在冰点文库上搜索。
1money里,定义它的子类ChinaPeople,重写方法voidwork(intm)实现把增加m到money里(体现汇率变化)。
classPeople(
doublemoney=20;
voidwork(intm)(
money=money+m;
System.out.println(nThemoneyofpeopleis:
"
+money);
}classChinaPeopleextendsPeople(doublemoney=20;
voidwork(intm){
money=money+m*0.6;
Themoneyofpeopleis:
}}
publicclassCone(
publicstaticvoidmain(String[]args)(
Peoplep=newPeople();
ChinaPeoplecp=newChinaPeople();
p.work(200);
cp.work(200);
4、定义接口Worker,有一个方法login()实现打卡功能。
定义该接口实现类ChinaWorker,给出login()的具体实现,
只需输出“我来了!
!
”即可。
interfaceWorker(voidlogin();
classChinaWorkerimplementsWorker{
publicvoidlogin()(
System.out.println(H我来啦!
);
)
Workercw=newChinaWorker();
cw.login();
5、使用Scanner类实现从键盘输入一句英文,主程序实现
把这句英文的单词按照字典顺序排序输出。
importjava.util.*;
Scannerscan=newScanner(System.in);
Stringstr=scan.nextLine();
String[]temp=str.split("
SortString.sort(temp);
for(Strings:
temp)(
System.out.print("
+s);
)}
classSortString(
publicstaticvoidsort(Stringa[])(
intcount=0;
for(inti=O;
i<
a.length-l;
i++)(
for(intj=i+l;
j<
a.length;
j++)(
if(a[j].compareTo(a[i])<
0)(
Stringtemp=a[i];
a[i]=a[j];
a[j]=temp;
6、使用Scanner类实现从键盘输入若干个双精度数,主程序实现把这些数求和输出。
System.out.println(n请输入需要计算的数,每个数以Enter结束,输入完成后以任意非数字结束输入,
doublesum=0;
while(scan.hasNextDouble())(
sum=sum+scan.nextDouble();
System.out.println(nThesumofinputis"
+sum);
7、定义窗体,窗体上含有两个文本区,一个按钮,实现一个文本区内输入若干个整数,单击按钮后在另一个文本区内显示这些整数中奇数的个数,并输出所有奇数。
importjava.util.*;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
classframeextendsJFrameimplementsActionListener(
JTextAreatl,t2;
JButtonbutton;
frame()(
setLayout(newFlowLayout());
tl=newJTextArea(20,20);
t2=newJTextArea(20,20);
button=newJButton("
Submit"
button.addActionListener(this);
add(tl);
add(t2);
add(button);
setVisible(true);
setBounds(l00,200,100,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
publicvoidactionPerformed(ActionEvente)(
Stringstr=tl.getText();
Scannerscan=newScanner(str);
intsum=0,temp;
while(scan.hasNext())(
try(
temp=scan.nextlnt();
if(temp%2==l)(
t2.append("
+temp);
sum=sum+temp;
count++;
catch(InputMismatchExceptionexp){
Strings=scan.next();
t2.append(H\nAllhas"
+count+"
andthesumis"
newframe();
8、编写类比如Circle实现模拟圆形,类中封装与圆有关的数据和方法(比如半径和获取面积),在主方法中定义一个对象,让这个对象操作自己的数据和方法输出相应结果。
Circlec=newCircle(2.0);
System.out.println(HTheinitialcircle:
Radius="
+c.get_r()+n;
Area="
+c.getArea());
c.set_r(3.0);
System.out.println(nThechangedcircle:
+c.get_r()+"
;
classCircle(
doubler;
Circle(doubler)(
this.r=r;
voidset_r(doublem)(
r=m;
doubleget_r()(
returnr;
doublegetArea()(
returnMath.PI*r*r;
9、编写一个类People,含有两个属性String类型的name和int类型的age,定义一个方法speak()输出这两个属性。
如“我是zhanghua,我今年12了"
。
编写People的子类Boy,重写方法speak(),输出“我是男孩,我今年***”。
编写People的子类Girl,重写方法speak(),输出“我是女孩,我叫****“。
编写主类,声明一个People的对象p。
再依次创建Boy
和Girl的对象Tom和Rose,分别给各自的属性赋值,最后
使P成为Tom和Rose的上转型对象,分别调用speak。
Peoplep;
BoyTom=newBoy("
Tomn,12);
GirlRose=newGirl("
Rose"
13);
p=Tom;
p.speak();
p=Rose;
Stringname="
zhanghua"
intage=12;
voidspeak()(
我是"
+name+"
我今年"
+age+"
了。
classBoyextendsPeople(
Stringname;
intage;
Boy(Stringname,intage)(
this.name=name;
this.age=age;
voidspeak()(
我是男孩,我今年"
了。
classGirlextendsPeople(
Girl(Stringname,intage)(
我是女孩,我今年"
10、编写程序实现,创建一个窗体,里面依次有一个标签,一个文本框,一个文本区,一个按钮。
标签里面给提示信息如“请输入您的成绩:
“,单击按钮实现在文本框里输入成绩后,在文本区给出及格与否的判断。
classframeextendsJFrameimplementsActionListener(
JTextFieldtext;
JTextAreaarea;
button=newJButton("
Submit"
text=newJTextField(20);
area=newJTextArea(10,10);
add(newJLabel("
请输入您的成绩:
));
add(text);
add(area);
setBounds(l00,200,100,200);
publicvoidactionPerformed(ActionEvente)(
Stringstr=text.getText().trim();
Doublemark=Double.parseDouble(str);
if(mark>
=60)
area.setText("
及格!
”);
elsearea.setText("
不及格!
);
11、编写一个应用程序,该程序的窗口依次有一个标签(“请输入打开的文件名,含扩展名”),一个用于输入的文本框,一个文本区,一个按钮。
用户在文本框输入一个文件的名字
(包含扩展名),单击按钮,程序在文本区显示文件的内容。
importjava.io.*;
area=newJTextArea(10,10);
button.addActionListener(this);
add(newJLabel(”请输入打开的文件名,含扩展名”));
Fileinput=newFile(str);
if(!
input.exists())(
text.setText('
1Inputagain!
else(
try(FilelnputStreamin=newFilelnputStream(input);
BufferedReaderreader=newBufferedReader(newInputStreamReader(in));
Stringline=reader.readLine();
while(line!
=null)(
area.append(line+n\n"
line=reader.readLine();
catch(IOExceptionex)(System.out.println(ex);
}}})
12、编写一个应用程序,该程序的窗口依次有一个标签(“请输入字符串”),一个用于输入的文本框,一个按钮。
用户在文本框输入一个字符串,单击按钮,程序在控制台输出字符串的长度。
importjavax.swing.*;
add(newJLabel(n请输入字符串”));
Stringstr=text.getText();
System.out.println(nthelengthofn+str+"
is"
+str.length());
13、假设工资单由基础工资、岗位津贴、绩效津贴、医疗
补助、独生子女补助等组成,比如一个典型的工资单如下:
“基础工资:
1500.00,岗位津贴:
1000,绩效津贴:
500,
医疗补助:
130.45,独生子女费:
5。
”
编写一个应用程,要求使用StringTokenizer类编写算
法输出该工资单的各项数值,并计算求工资总和。
publicclassCone{
Stringstr=”基础工资:
1500.00,岗位津贴:
500,医疗补助:
130.45,独生子女费:
5o
StringTokenizereach=newStringTokenizer(str,"
,"
while(each.hasMoreTokens())(
System.out.println(each.nextToken());
StringTokenizerpay=newStringTokenizer(str,"
基础工资:
,岗位津贴:
,绩效津贴:
,医疗补助:
,独生子女费:
Stringtemp;
while(pay.hasMoreTokens())(
temp=pay.nextToken();
sum+=Double.parseDouble(temp);
System.out.println(HThesumofpayisn+sum);