Java期末练习题和答案docx.docx
- 文档编号:10653060
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:14
- 大小:93.61KB
Java期末练习题和答案docx.docx
《Java期末练习题和答案docx.docx》由会员分享,可在线阅读,更多相关《Java期末练习题和答案docx.docx(14页珍藏版)》请在冰豆网上搜索。
Java期末练习题和答案docx
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=l;ivl50;i=i+2){
result=result*i;
}
System.out.println("Theresultis:
"+result);
}}
3、已知类People里含有属性money初值是20,方法voidwork(intm)实现增加m至!
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;
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(H我来啦!
");
)
}
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=O;i for(intj=i+l;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(n请输入需要计算的数,每个数以Enter结束,输入完成后以任意非数字结束输入, Scannerscan=newScanner(System.in); doublesum=0; while(scan.hasNextDouble())( sum=sum+scan.nextDouble(); } System.out.println(nThesumofinputis"+sum); }} 7、定义窗体,窗体上含有两个文本区,一个按钮,实现一个文本区内输入若干个整数,单击按钮后在另一个文本区内显示这些整数中奇数的个数,并输出所有奇数。 Answer: 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; intcount=0; 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"+sum); }} publicclassCone( publicstaticvoidmain(String[]args)( newframe(); }} 8、编写类比如Circle实现模拟圆形,类中封装与圆有关的数据和方法(比如半径和获取面积),在主方法中定义一个对象,让这个对象操作自己的数据和方法输出相应结果。 Answer: publicclassCone( publicstaticvoidmain(String[]args)( 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: 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("Tomn,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(l00,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(l00,200,100,200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } publicvoidactionPerformed(ActionEvente)( Stringstr=text.getText().trim(); 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);}}}) 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(n请输入字符串”)); add(text); add(button); setVisible(true); setBounds(l00,200,100,200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } publicvoidactionPerformed(ActionEvente)( Stringstr=text.getText(); System.out.println(nthelengthofn+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,独生子女费: 5o 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(HThesumofpayisn+sum);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 期末 练习题 答案 docx