资源描述
《Java程序设计》实践环节考核指导
(2009年1月制定)
1、类型
课程实验考核
2、目的与要求
本课程是一门理论与实际紧密结合、实践性强的课程。通过上机实践,帮助学生加深对课程的理解,更好地掌握Java程序设计和程序调试的技术、方法,并进而达到利用Java解决实际应用问题的目的,为后续课程的学习、利用JSP进行IMS开发提供基础。
本课程的主要考核目标是检查学生调试、完善和简单设计Java程序的能力,因此其考查主要从纠正简单语法错误、调试和完善程序、纠正逻辑错误、设计程序等角度展开。
3、考核环境
l 基本运行环境:Windows XP+J2SDK 1.5
l 开发工具:Eclipse 3.2 英文版
l 考试系统:高等教育自学考试上机考试系统(计算机信息管理专业、计算机网络专业)
4、考核内容
l Eclipse开发工具的使用(新建项目,新建类,修改与运行程序);
l Java程序的基本结构与基础语法;
l 常见的Java程序的输入、输出语句、捕捉异常语句;
l 基于Swing和AWT的界面程序设计(监视器、监听程序);
l Java Applet下的图形处理;
l Java下的多线程程序设计;
l 以Java访问ODBC数据库源并输出其指定表的内容;
5、考核时间
考试时间为60分钟。
6、考核形式和方法
采用闭卷机考形式,考生首先登录考试服务器,阅读考试要求,在考试文件夹D:\2009ks下完成指定的开发要求,所有答案都直接做在文件夹d:\2009ks内,最后根据考试要求把答案文件上传到考核服务器上考生自己的文件柜中(上传的答案文件不要压缩打包)。
请认真阅读“考试系统”使用说明。
7、注意事项
1.遵守考场纪律,因计算机引起的问题请及时与监考老师联系;有些操作步骤或操作贴图文件需要以Word形式保存,请按照要求保存文件名。
2.考生不要等到最后才上传答案文件,以免因最后时刻交卷人员太多造成服务器响应速度低;上传文件前务必关闭相应的软件。例如上传Word文档前应关闭Word系统。上传数据库文件前必须停止SQL Server服务管理器。
3.如果发现无法登录系统,请及时与监考老师联系,由监考老师协助处理。
4.本系统采取了一定安全性措施,系统自动记录考生的登录时间和登录微机(登录时间取自服务器)。一旦发现同一时间段内有两台微机同时以某个考号登录系统,将按作弊处理。一旦发现某台微机在考试期间用两个准考证号登录过考试系统。也按照作弊处理。
5.考试完毕,主动删除D盘上的相关文件夹。
6.注意保护自己的二次登录密码,不要被其他考生知道。
7.考生在考试前如果使用了模拟环境,请于考试开始前关闭所有浏览器窗口,然后重新登录考试服务器。
8、参考样题
请从考核服务器中下载考试用的文件到本地磁盘D:\2009ks下,然后启动Eclipse系统,设置其workspace为D:\2008ks。然后在Eclipse下建立Project,并把考题给予的程序代码导入Project,修正并调试正确后,把结果代码转存为原来的java程序文件,然后上传到考生文件柜中(只需上传独立的Java文件)。
样题一
一、纠正程序“a1.java”的语法错误,然后回答问题(25分)。
//程序文件名:a1.java。
// import javax.swing.*;
public class A1 {
public static void main(String args) {
int i,n; String cc;
double ee=1;
cc=JOptionPane.ShowInputDialog(‘请输入一个二位整数:‘);
n=Integer.ParseInt(cc);
for(i=1;i<=n;i++)
ee=ee+1/jiech(i);
System.out.println(‘运算结果是:’+ee);
}
double jiech(int x){
int i;
double jie=1;
for(i=1;i<=x;i++) jie*=i;
return jie;
}
}
(1)纠正程序中的语法错误。
(2)程序的功能是什么?如果向程序中输入数据7,程序运行的结果是什么?请把程序运行结果的贴图存储到ans.doc中。
二、程序中有若干空白,请完善程序题目,并回答问题(40分)
//程序文件名:a21.java。
import javax.swing.*;
public class A21 {
public static void main(String[] args) {
int i,n; String cc;
cc=JOptionPane.______________ ("请输入一个整数:");
n=_____________________(cc);
for(i=2;i<=n;i++)
if(zhishu(i))
System.out.println(i+"是质数!");
else
System.out.println(i+"不是质数!");
}
static boolean zhishu(int x){
int i=2;
while((i<=x/2)&&(x%i!=0)) i++;
if(___________________) return true;
else return false;
}
}
//程序文件名:a22.java。
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class A22 extends Applet {
public TextField in=new TextField(10);
____________________________________________;
public Label out=new Label("结果是:");
public void init() {
setLayout(new FlowLayout());
add(in);
add(btn);
add(out);
btn.addActionListener(_____________________{
public void actionPerformed(ActionEvent e){
String s=in.getText();
double d=_____________________(s);
double sq=d*d;
out.______________________(d+"的平方是"+sq);
}
});
}
public void paint(Graphics g) {
g.drawString("Welcome to Java!!", 50, 60 );
}
}
1、程序A21的功能是判断2~N之间哪些整数是质数(n从键盘输入)。请完善程序,并把程序运行结果的贴图存储到ans.doc中。
2、程序A22的功能是单击按钮【求平方】,就能够输出文本框中输入数据的平方,请把程序补充完整,并把程序运行结果的贴图存储到ans.doc中。
三、程序设计(35分)
编写数组处理程序a3.java。要求定义整型数组,并从键盘上输入10个数据,然后求出其中的最大者和所有数据的总和。
样题二
一、纠正程序“b1.java”的语法错误,然后回答问题(25分)。
//程序文件名:b1.java。
public class B1 {
public static void main(String[] args) {
int i,n; String cc;
cc=JOptionPanel.showInputDialog(‘请输入一个三位整数:‘);
n=Int.ParseInt(cc);
for(i=100;i<=n;i++)
if(shuixian(i)) System.out.println(i+’是水仙花!’);
else System.out.println(i+’不是水仙花!’);
}
boolean shuixian(int x){
int i,j,k;
i=(int)x/100;
j=(int)(x%100)/10;
k=x%10;
System.out.print(i+" "+j+" "+k+" ");
if(i*i*i+j*j*j+k*k*k==x) return true;
else return false;
}
}
(1)纠正程序中的语法错误。
(2)程序的功能是什么?如果向程序中输入数据153,程序运行的结果是什么?向程序中输入数据128,程序的运行结果是什么?,并把程序运行结果的贴图存储到ans.doc中。
二、程序中有若干空白,请完善程序题目,并回答问题(40分)
//程序文件名:b21.java。
import javax.swing.*;
public class B21{
public static void main(String args[]){
String cc;
int x;
cc=JOptionPane.___________________(“请输入一个整数:”);
x=Integer.____________(cc); if(___________________________)
System.out.println(x+”年是闰年!”);
else
System.out.println(x+”年不是闰年!”);
}
}
//程序文件名:b22.java。
public class B22 implements Runnable{
public static void main(String args[]){
Test t=new Test();
Thread tt=new Thread(t);
tt.start();
}
public _________(){
for(;;){
try{
_____________________________;
}catch(_______________________ e){}
System.out.println("Hello");
}
}
}
1、程序b21的功能是判定某一年是否闰年。请完善程序,并把程序运行结果的贴图存储到ans.doc中。
2、程序b22的功能是在监控台上每隔一秒钟显示一个字符串“Hello!”,请填空把程序补充完整,并把程序运行结果的贴图存储到ans.doc中。
三、程序设计(35分)
已知:系统中有ODBC数据源xytest,其中有数据表xsb,结构为:学号,姓名,性别,生日,单位。
请编写程序b3.java,使之能够连接数据源xytest,并输出数据表xsb的所有内容。
样题三
一、纠正程序“c1.java”的语法错误,然后回答问题(25分)。
//程序文件名:c1.java。
public class C1 {
public static void main(String[] args) {
int i,n; String cc;
cc=JOptionPane.showInputDialog("请输入一个整数:");
n=cc;
for(i=2;i<=n;i++)
if(zhishu(i)) System.out.println(i+"是质数!");
else System.out.println(i+"不是质数!");
}
boolean zhishu(int x){
i=2;
while((i<=x/2)&&(x%i!=0)) i++;
if(i>x/2) return true;
else return false;
}
}
(1)纠正程序中的语法错误。
(2)程序的功能是什么?如果向程序中输入数据100,程序运行的结果是什么?向程序中输入数据300,程序的运行结果是什么?并把程序运行结果的贴图存储到ans.doc中。
二、程序中有若干空白,请完善程序题目,并回答问题(40分)
//程序文件名:C21.java。
public class C21 {
public static void main(String[] args) {
complex c1=_____________________;
complex c2=_____________________;
____________________________;
_________________________________________
________________________________;
_________________________________;
}
}
class complex {
private float x;
private float y;
complex(){
x=y=0.0f;
}
complex(float x, float y){
this.x=x;
this.y=y;
}
void print(){
System.out.print(x+"+"+y+"i");
}
complex madd(complex c1){
complex ccc=new complex();
ccc.x=this.x+c1.x;
ccc.y=this.y+c1.y;
return ccc;
}
static complex add(complex c1,complex c2){
complex ccc=new complex();
ccc.x=c1.x+c2.x;
ccc.y=c1.y+c2.y;
return ccc;
}
static complex muns(complex c1,complex c2)
{ complex ccc=new complex();
ccc.x=c1.x-c2.x;
ccc.y=c1.y-c2.y;
return ccc;
}
static complex mult(complex c1,complex c2)
{ complex ccc=new complex();
ccc.x=c1.x*c2.x-c1.y*c2.y;
ccc.y=c1.x*c2.y+c2.x*c1.y;
return ccc;
}
}
//程序文件名:c22.java。
import java,awt,*;
import java.awt.event.*;
public class C22{
public static void main(String args[]) {
new FrameInOut();
}
}
class FrameInOut extends Frame implements ActionListener {
Label prompt;
TextField input,output;
Button btnn;
void FramInOut() {
prompt=new Label("Please input your name");
input=new TextField(10);
output=new TextField(25);
btnn=new Button("Close");
(new FlowLayout());
add(prompt); add(input); add(output); add(btnn);
input.______________________;
btnn._______________________;
setSize(300.200);
show();
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() = = input)
output.setText(input.getText()+"Welcome you!");
else {
dispose();
system.exit(0);
}
}
}
1、程序C21.java的目的是进行复数运算。现在需要计算复数(3+5.8i)和复数(17-6.5i)的和、差、积,请把程序补充完整(程序中所需的数据不需要键盘输入),并把程序运行结果的贴图存储到ans.doc中。
2、程序C22的功能是:输入一个姓名,程序运行后,输出“姓名Welcome you!”.例如,输入“张三Welcome you !”。请在下面横线处填入正确的方法名,使程序可以正确运行,并把程序运行结果的贴图存储到ans.doc中。
三、程序设计(35分)
设计一个加法器程序c3.java。要求在窗口中有三个文本框和两个按钮。第一个按钮上的文字为“加法”,第二个按钮上的文字为“关闭”。当单击按钮“加法”时,能够把前两个文本框中的数据相加并存放在第三个文本框中。单击按钮“关闭”,则程序结束。
6
展开阅读全文