itatjava第三第五复赛答案.docx

上传人:b****5 文档编号:8509143 上传时间:2023-01-31 格式:DOCX 页数:17 大小:62.50KB
下载 相关 举报
itatjava第三第五复赛答案.docx_第1页
第1页 / 共17页
itatjava第三第五复赛答案.docx_第2页
第2页 / 共17页
itatjava第三第五复赛答案.docx_第3页
第3页 / 共17页
itatjava第三第五复赛答案.docx_第4页
第4页 / 共17页
itatjava第三第五复赛答案.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

itatjava第三第五复赛答案.docx

《itatjava第三第五复赛答案.docx》由会员分享,可在线阅读,更多相关《itatjava第三第五复赛答案.docx(17页珍藏版)》请在冰豆网上搜索。

itatjava第三第五复赛答案.docx

itatjava第三第五复赛答案

操作题:

(请将编写好的源程序以题号命名,例如第1题的源程序保存为“1.java”)

1、编写一个Java应用程序,计算并输出一维数组(9.8,12,45,67,23,1.98,2.55,45)中的最大值和最小值。

(本题20分)

publicclassitat1{

publicstaticvoidmain(Stringags[]){

doublea[]={9.8,12,45,67,23,1.98,2.55,45}。

doublemax=a[0]。

doublemin=a[0]。

for(inti=0。

i

i++){

if(a[i]>max){

max=a[i]。

}

if(a[i]

min=a[i]。

}

}

System.out.println("最大值为:

"+max)。

System.out.println("最小值为:

"+min)。

}

}

2、编写一个Java应用程序,该程序使用FileInputStream类,实现从磁盘读取本应用程序源代码文件,并将文件内容显示在屏幕上。

(本题20分)

importjava.io.BufferedReader。

importjava.io.FileReader。

importjava.io.IOException。

publicclassitat2{

publicstaticvoidmain(Stringags[])throwsIOException{

BufferedReaderin=newBufferedReader(newFileReader("d:

/hello.txt"))。

Strings。

while((s=in.readLine())!

=null){

System.out.println(s)。

}

}

}

读取文件本身的类Ex1.java的源代码如下:

****************************************************************

importjava.io.BufferedReader。

importjava.io.File。

importjava.io.FileReader。

/**

*@authorGodwin

*@version2010-05-16

*/

publicclassEx1{

publicstaticvoidmain(String[]args)throwsException{

BufferedReaderbr=newBufferedReader(newFileReader(newFile(System

.getProperty("user.dir")

+File.separator+"Ex1.java")))。

Strings。

while((s=br.readLine())!

=null){

System.out.println(s)。

}

}

}

***************************************

3、编写一个Java应用程序,利用RandomAccessFile类,把几个int型整数(1,2,3,4,5,6,7,8,9,10)写入到一个名字为tom.dat文件中,然后按相反顺序读出这些数据并显示在屏幕上。

(注意,一个int型数据占4个字节)(本题30分)

packageitat。

importjava.io.File。

importjava.io.RandomAccessFile。

publicclassqq{

publicstaticvoidmain(String[]args)throwsException{

Stringdirectory="D:

/test123"。

Stringname="tom.dat"。

Filef=newFile(directory,name)。

RandomAccessFilefile=null。

file=newRandomAccessFile(f,"rw")。

inta[]={1,2,3,4,5,6,7,8,9,10}。

for(inti=0。

i

i++){

file.writeInt(a[i])。

}

RandomAccessFilefile1=newRandomAccessFile(f,"rw")。

for(inti=0。

i

i++){

intj=file1.readInt()。

System.out.println(j)。

}

}

}

4、编写一个JavaGUI应用程序,采用Java多线程技术,模拟自由落体和平抛运动:

一个球自由落下,一个球水平抛出。

(本题30分)

(自由落体物理公式:

h=g*t2/2;平抛运动物理公式:

h=g*t2/2,x=26*t;

h代表高度,t代表时间,g代表重力加速度=9.8m/s2)

附加题:

5、编写一个Java应用程序,实现如下功能:

1)判断两个字符串是否相同,s1=”youareastudent”,s2=”howareyou”;

2)判断字符串”22030219851022024”的前缀、后缀是否和某个字符串”220302”相同;

3)按字典顺序比较两个字符串”你”和”我”的大小关系;

4)将数字型字符串”100”和”123.678”转换为数字;

5)将字符串”FEDCBA”存放到数组中,调用for循环读出数组数据显示在屏幕上。

(本题20分)

publicclassaa{

publicstaticvoidmain(Stringags[]){

Strings1="youareastudent",s2="howareyou"。

if(s1.equals(s2)){

System.out.println("s1和s2相同。

")。

}else{

System.out.println("s1和s2不同。

")。

}

Strings3="22030219851022024"。

Strings4="220302"。

if(s3.startsWith(s4))

{

System.out.println(s3+"的前缀为"+s4)。

}else

{

System.out.println(s3+"的前缀不为"+s4)。

}

if(s3.endsWith(s4))

{

System.out.println(s3+"的后缀为"+s4)。

}else

{

System.out.println(s3+"的后缀不为"+s4)。

}

Strings5="你"。

Strings6="我"。

if(pareTo(s6)<0)

{

System.out.println("\""+s5+"\"比\""+s6+"\"大")。

}elseif(pareTo(s6)==0){

System.out.println("\""+s5+"\"和\""+s6+"\"等")。

}else

{

System.out.println("\""+s5+"\"比\""+s6+"\"小")。

}

Strings7="100"。

Strings8="123.678"。

intnum1=Integer.parseInt(s7)。

Doublenum2=Double.parseDouble(s8)。

System.out.println(num1)。

System.out.println(num2)。

Strings9="FEDCBA"。

chars99[]=newchar[6]。

for(inti=0。

i

i++){

s99[i]=s9.charAt(i)。

System.out.println(s99[i])。

}

Strings92="FEDCBA"。

char[]arr=s92.toCharArray()。

for(inti=0。

i

i++){

System.out.println(arr[i])。

}

}

}

6、编写客户/服务器程序,客户端Client.java使用DatagramSocket对象将数据包发送到服务器,请求获取服务器端的图像(考生可自选图像文件)。

服务器端Server.java将图像文件包装成数据包,并使用DatagramSocket对象将该数据包发送到客户端。

首先将服务器端的程序编译通过,并运行起来,等待客户的请求。

(本题30分)

程序的运行效果如下图所示:

客户端

服务器端

服务端代码:

packagedatasocket。

importjava.io.*。

import.*。

publicclassFortuneServer1extendsThread{

DatagramSocketServerSocket。

publicFortuneServer1(){

super("FortuneServer1")。

try{

ServerSocket=newDatagramSocket(1121)。

System.out.println("FortuneServerupandrunning...")。

}catch(SocketExceptione){

System.err.println("Exception:

couldn'tcreatedatagramsocket")。

System.exit

(1)。

}

}

publicvoidrun(){

if(ServerSocket==null)

return。

while(true){

try{

InetAddressaddress。

intport。

DatagramPacketpacket。

byte[]data=newbyte[16000]。

packet=newDatagramPacket(data,data.length)。

ServerSocket.receive(packet)。

address=packet.getAddress()。

port=packet.getPort()。

FileinFile=newFile("D:

/q1.jpg")。

FileInputStreaminStream=newFileInputStream(inFile)。

if(inStream.read(data)<=0){

System.err.println("Error:

couldn'treadfortunes")。

}

packet=newDatagramPacket(data,data.length,address,port)。

ServerSocket.send(packet)。

}catch(Exceptione){

System.err.println("Exception:

"+e)。

e.printStackTrace()。

}

}

}

publicstaticvoidmain(String[]args){

FortuneServer1server=newFortuneServer1()。

server.start()。

}

}

客户端代码:

packagedatasocket。

importjava.awt.Image。

importjava.awt.Toolkit。

importjava.awt.event.ActionEvent。

importjava.awt.event.ActionListener。

importjava.awt.event.WindowAdapter。

importjava.awt.event.WindowEvent。

import.*。

importjavax.swing.ImageIcon。

importjavax.swing.JButton。

importjavax.swing.JFrame。

importjavax.swing.JLabel。

publicclassFortuneClientextendsJFrameimplementsActionListener{

/**

*

*/

privatestaticfinallongserialVersionUID=2567338201545440156L。

Imageimage=null。

privateJButtonbutton=newJButton("获取图像")。

privateJLabellabel=newJLabel()。

publicFortuneClient(){

this.setTitle("Iamaclient")。

this.setSize(500,500)。

this.setLocationRelativeTo(null)。

this.addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

System.exit(0)。

}

})。

this.add(button,"North")。

button.addActionListener(this)。

this.setVisible(true)。

}

publicvoidgetMessage(){

try{

DatagramSocketsocket。

DatagramPacketpacket。

byte[]data=newbyte[16000]。

socket=newDatagramSocket()。

packet=newDatagramPacket(data,data.length,InetAddress

.getByName("127.0.0.1"),1121)。

socket.send(packet)。

packet=newDatagramPacket(data,data.length)。

socket.receive(packet)。

image=Toolkit.getDefaultToolkit().createImage(packet.getData(),

0,packet.getData().length)。

socket.close()。

}catch(UnknownHostExceptione){

System.err.println("Exception:

hostcouldnotbefound")。

}catch(Exceptione){

System.err.println("Exception:

"+e)。

e.printStackTrace()。

}

label=newJLabel(newImageIcon(image))。

}

publicstaticvoidmain(Stringargs[]){

newFortuneClient()。

}

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

getMessage()。

this.add(label)。

label.setVisible(true)。

this.setVisible(true)。

}

}

1、某人有5张3分和4张5分的邮票,请编写一个程序,

计算由这些邮票中的1张或若干张可以得到多少种不同的邮资,

并按照邮资从小到大顺序显示。

(20分)

2、采用Java多线程技术编写程序,其中包括两个线程:

A和B,其中A线程准备休眠一小时,B线程每隔一秒输入3句“起床”后,

吵醒休眠的线程A。

(25分)

3、利用Java的GUI编程,编写一个窗体,

包含两个文本框和一个命令按钮。

其中一个文本框接收用户输入的一行字符串,

回车后在另一个文本框中重复输出三行,单击命令按钮可清空两个文本框的所有内容。

(25分)

4、编写一个Java应用程序,运行后,首先列出当前工作目录,

然后把当前目录下面的所有后缀为java的文件取出

(设置一个过滤器进行文件名后缀的过滤)。

(30分)

附加题:

5、使用堆栈结构输出,其中=2+2,=3,=8。

(20分)

6、访问Access2003数据库,在Access数据库中创建学生表(T_Student)表并配置ODBC驱动源,

学生表的结构和示例数据如下所示:

T_Student表:

字段名称说明数据类型约束备注

S_ID学号Integer主键

S_Name姓名Varchar(10)不允许空

S_Email邮箱Varchar(30)

S_Score英语成绩Integer

表数据示例:

S_IDS_NameS_EmailS_Score

1001JerryJerry@80

1002MikeMike@90

1003JohnJohn@78

使用Java语言编写程序,要求如下:

1)使用JDBC-ODBC桥驱动程序;

2)查询出表中所有记录,并按照主键升序显示。

参考提示代码:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")。

Connectionconn=DriverManager.getConnection("jdbc:

odbc:

student","","")。

(30分)

mportjava.util.*。

publicclassT1{

publicstaticvoidmain(Stringargs[]){

ArrayListal=newArrayList()。

for(inti=0。

i<=5。

i++){

for(intj=0。

j<=4。

j++){

if((i*3+j*5)!

=0&&!

al.contains(i*3+j*5)){

al.add(i*3+j*5)。

}

}

}

Collections.sort(al)。

System.out.println("总共的邮资数是:

"+al.size())。

System.out.println("他们从小到大的依次书序是:

")。

for(Objecto:

al){

System.out.print(o+"-")。

}

System.out.println("\b")。

}

}

2importjava.util.*。

publicclassT2{

publicstaticvoidmain(String[]args){

Objecto1=newObject()。

ThreadTwot2=newThreadTwo(o1)。

ThreadOnet1=newThreadOne(o1,t2)。

t1.start()。

//为确保t1先运行我让t2在t1的run方法里面启动

}

staticclassThreadOneextendsThread{

Objecta。

Threadt。

publicThreadOne(Objecto1,Threadt2){

a=o1。

t=t2。

}

publicvoidrun(){

t.start()。

synchronized(a){

try{

System.out.println("我是A:

我要先睡一个小时")。

a.wait(1000*3600)。

System.out.println("我是A:

我被吵醒了")。

}

catch(Exceptione){e.printStackTrace()。

}

}

}

}

staticclassThreadTwoextendsThread{

Objecta。

publicThreadTwo(Objecto1){

a=o1。

}

publicvoidrun(){

booleanflag=true。

Scannersc=newScanner(System.in)。

ArrayListal=newArrayList()。

try{

synchronized(a){

while(flag){

sleep(1000)。

System.out.println("我是线程B:

起床")。

al.add

(1)。

System.out.println()。

if(al.size()==3){

a.notify()。

flag=false。

}

}

}

}catch(Exceptione){

e.printStackTrace()。

}

}

}

}

3

importjava.awt.GridLayout。

importjava.awt.event.ActionEvent。

importjava.awt.event.ActionListener。

importjava.awt.event.KeyEvent。

importjava.awt.event.KeyListener。

importjavax.swing.JTextArea。

importjavax.swing.JButton。

importjavax.swing.JFrame。

importjavax.swing.JTextField。

publicclassT3{

JFrameframe。

JTextFieldjtf。

JTextAreajtf2。

JButtonbutton。

publicT3(){

frame=ne

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

当前位置:首页 > PPT模板 > 其它模板

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

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