Java期末练习题和答案.docx

上传人:b****7 文档编号:10539216 上传时间:2023-02-21 格式:DOCX 页数:15 大小:17.55KB
下载 相关 举报
Java期末练习题和答案.docx_第1页
第1页 / 共15页
Java期末练习题和答案.docx_第2页
第2页 / 共15页
Java期末练习题和答案.docx_第3页
第3页 / 共15页
Java期末练习题和答案.docx_第4页
第4页 / 共15页
Java期末练习题和答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Java期末练习题和答案.docx

《Java期末练习题和答案.docx》由会员分享,可在线阅读,更多相关《Java期末练习题和答案.docx(15页珍藏版)》请在冰豆网上搜索。

Java期末练习题和答案.docx

Java期末练习题和答案

1、已知数组a={4,67,32,78,56,13,90,48,22},编程实现求该数组最大值并输出的方法。

Answer:

publicclassCone{

publicstaticvoidmain(String[]args){

int[]a={4,67,32,78,56,13,90,48,22};

intmax=a[0];

for(inttemp:

a){

if(temp>max){

max=temp;

}}

System.out.println("Themaxis:

"+max);

}}

2、编写程序实现求0~150之间的奇数的乘积;

Answer:

publicclassCone{

publicstaticvoidmain(String[]args){

longresult=1;

for(inti=1;i<150;i=i+2){

result=result*i;

}

System.out.println("Theresultis:

"+result);

}}

3、已知类People里含有属性money初值是20,方法voidwork(intm)实现增加m到money里,定义它的子类ChinaPeople,重写方法voidwork(intm)实现把增加m到money里(体现汇率变化)。

classPeople{

doublemoney=20;

voidwork(intm){

money=money+m;

System.out.println("Themoneyofpeopleis:

"+money);}

}

classChinaPeopleextendsPeople{

doublemoney=20;

voidwork(intm){

money=money+m*0.6;

System.out.println("Themoneyofpeopleis:

"+money);}

}

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("我来啦!

");

}

}

publicclassCone{

publicstaticvoidmain(String[]args){

Workercw=newChinaWorker();

cw.login();

}

}

5、使用Scanner类实现从键盘输入一句英文,主程序实现把这句英文的单词按照字典顺序排序输出。

Answer:

importjava.util.*;

publicclassCone{

publicstaticvoidmain(String[]args){

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=0;i

for(intj=i+1;j

if(a[j].compareTo(a[i])<0){

Stringtemp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

}

}

}

6、使用Scanner类实现从键盘输入若干个双精度数,主程序实现把这些数求和输出。

Answer:

importjava.util.*;

publicclassCone{

publicstaticvoidmain(String[]args){

System.out.println("请输入需要计算的数,每个数以Enter结束,输入完成后以任意非数字结束输入");

Scannerscan=newScanner(System.in);

doublesum=0;

while(scan.hasNextDouble()){

sum=sum+scan.nextDouble();

}

System.out.println("Thesumofinputis"+sum);

}}

7、定义窗体,窗体上含有两个文本区,一个按钮,实现一个文本区内输入若干个整数,单击按钮后在另一个文本区内显示这些整数中奇数的个数,并输出所有奇数。

Answer:

importjava.util.*;

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.*;

classframeextendsJFrameimplementsActionListener{

JTextAreat1,t2;

JButtonbutton;

frame(){

setLayout(newFlowLayout());

t1=newJTextArea(20,20);

t2=newJTextArea(20,20);

button=newJButton("Submit");

button.addActionListener(this);

add(t1);

add(t2);

add(button);

setVisible(true);

setBounds(100,200,100,200);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicvoidactionPerformed(ActionEvente){

Stringstr=t1.getText();

Scannerscan=newScanner(str);

intsum=0,temp;

intcount=0;

while(scan.hasNext()){

try{

temp=scan.nextInt();

if(temp%2==1){

t2.append(""+temp);

sum=sum+temp;

count++;

}}

catch(InputMismatchExceptionexp){

Strings=scan.next();

}}

t2.append("\nAllhas"+count+"andthesumis"+sum);

}}

publicclassCone{

publicstaticvoidmain(String[]args){

newframe();

}}

8、编写类比如Circle实现模拟圆形,类中封装与圆有关的数据和方法(比如半径和获取面积),在主方法中定义一个对象,让这个对象操作自己的数据和方法输出相应结果。

Answer:

publicclassCone{

publicstaticvoidmain(String[]args){

Circlec=newCircle(2.0);

System.out.println("Theinitialcircle:

Radius="+c.get_r()+";Area="+c.getArea());

c.set_r(3.0);

System.out.println("Thechangedcircle:

Radius="+c.get_r()+";Area="+c.getArea());

}}

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()。

publicclassCone{

publicstaticvoidmain(String[]args){

Peoplep;

BoyTom=newBoy("Tom",12);

GirlRose=newGirl("Rose",13);

p=Tom;

p.speak();

p=Rose;

p.speak();

}}

classPeople{

Stringname="zhanghua";

intage=12;

voidspeak(){

System.out.println("我是"+name+",我今年"+age+"了。

");

}

}

classBoyextendsPeople{

Stringname;

intage;

Boy(Stringname,intage){

this.name=name;

this.age=age;}

voidspeak(){

System.out.println("我是男孩,我今年"+age+"了。

");

}

}

classGirlextendsPeople{

Stringname;

intage;

Girl(Stringname,intage){

this.name=name;

this.age=age;}

voidspeak(){

System.out.println("我是女孩,我今年"+age+"了。

");}

}

10、编写程序实现,创建一个窗体,里面依次有一个标签,一个文本框,一个文本区,一个按钮。

标签里面给提示信息如“请输入您的成绩:

“,单击按钮实现在文本框里输入成绩后,在文本区给出及格与否的判断。

Answer:

importjavax.swing.*;

importjava.awt.event.*;

importjava.awt.*;

classframeextendsJFrameimplementsActionListener{

JButtonbutton;

JTextFieldtext;

JTextAreaarea;

frame(){

setLayout(newFlowLayout());

button=newJButton("Submit");

text=newJTextField(20);

area=newJTextArea(10,10);

button.addActionListener(this);

add(newJLabel("请输入您的成绩:

"));

add(text);

add(area);

add(button);

setVisible(true);

setBounds(100,200,100,200);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicvoidactionPerformed(ActionEvente){

Stringstr=text.getText().trim();

Doublemark=Double.parseDouble(str);

if(mark>=60)

area.setText("及格!

");

elsearea.setText("不及格!

");

}

}

publicclassCone{

publicstaticvoidmain(String[]args){

newframe();

}

}

11、编写一个应用程序,该程序的窗口依次有一个标签(“请输入打开的文件名,含扩展名”),一个用于输入的文本框,一个文本区,一个按钮。

用户在文本框输入一个文件的名字(包含扩展名),单击按钮,程序在文本区显示文件的内容。

Answer:

importjavax.swing.*;

importjava.awt.event.*;

importjava.awt.*;

importjava.io.*;

classframeextendsJFrameimplementsActionListener{

JButtonbutton;

JTextFieldtext;

JTextAreaarea;

frame(){

setLayout(newFlowLayout());

button=newJButton("Submit");

text=newJTextField(20);

area=newJTextArea(10,10);

button.addActionListener(this);

add(newJLabel("请输入打开的文件名,含扩展名"));

add(text);

add(area);

add(button);

setVisible(true);

setBounds(100,200,100,200);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicvoidactionPerformed(ActionEvente){

Stringstr=text.getText().trim();

Fileinput=newFile(str);

if(!

input.exists()){

text.setText("Inputagain!

");

}

else{

try{FileInputStreamin=newFileInputStream(input);

BufferedReaderreader=newBufferedReader(newInputStreamReader(in));

Stringline=reader.readLine();

while(line!

=null){

area.append(line+"\n");

line=reader.readLine();

}

}

catch(IOExceptionex){System.out.println(ex);}

}}}

publicclassCone{

publicstaticvoidmain(String[]args){

newframe();

}

}

12、编写一个应用程序,该程序的窗口依次有一个标签(“请输入字符串”),一个用于输入的文本框,一个按钮。

用户在文本框输入一个字符串,单击按钮,程序在控制台输出字符串的长度。

Answer:

importjavax.swing.*;

importjava.awt.event.*;

importjava.awt.*;

classframeextendsJFrameimplementsActionListener{

JButtonbutton;

JTextFieldtext;

frame(){

setLayout(newFlowLayout());

button=newJButton("Submit");

text=newJTextField(20);

button.addActionListener(this);

add(newJLabel("请输入字符串"));

add(text);

add(button);

setVisible(true);

setBounds(100,200,100,200);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicvoidactionPerformed(ActionEvente){

Stringstr=text.getText();

System.out.println("thelengthof"+str+"is"+str.length());

}

}

publicclassCone{

publicstaticvoidmain(String[]args){

newframe();

}

}

13、假设工资单由基础工资、岗位津贴、绩效津贴、医疗补助、独生子女补助等组成,比如一个典型的工资单如下:

“基础工资:

1500.00,岗位津贴:

1000,绩效津贴:

500,医疗补助:

130.45,独生子女费:

5。

编写一个应用程,要求使用StringTokenizer类编写算法输出该工资单的各项数值,并计算求工资总和。

Answer:

importjava.util.*;

publicclassCone{

publicstaticvoidmain(String[]args){

Stringstr="基础工资:

1500.00,岗位津贴:

1000,绩效津贴:

500,医疗补助:

130.45,独生子女费:

5。

";

StringTokenizereach=newStringTokenizer(str,",");

while(each.hasMoreTokens()){

System.out.println(each.nextToken());

}

StringTokenizerpay=newStringTokenizer(str,"基础工资:

,岗位津贴:

,绩效津贴:

,医疗补助:

,独生子女费:

");

doublesum=0;

Stringtemp;

while(pay.hasMoreTokens()){

temp=pay.nextToken();

sum+=Double.parseDouble(temp);

}

System.out.println("Thesumofpayis"+sum);

}

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1