自考生网为考生收集整理了“2020年04747Java语言程序设计(一)模拟试题(3)”。
注:不同省份、不同专业的自考本科模拟试题,只要课程代码和课程名称相同,都可参考使用。
更多自考04747Java语言程序设计(一)模拟试题可查看“自考04747Java语言程序设计(一)试题”栏目。
一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
第1题按运算符操作数的数目划分,运算符?:的类型是()
A.三目
B.双目
C.四目
D.单目
第2题当启动Applet程序时,首先调用的方法是()
A.stop()
B.init()
C.start()
D.destroy()
第3题下面有关临界段叙述错误的是()
A.多线程互斥使用共享资源的程序段被称为临界段
B.临界段是一种加锁机制,与多线程共享资源有关
C.临界段的作用是在任何时该一个共享资源只能供一个线程使用
D.如果一个线程已进入某个共享资源的临界段,且还没有使用结束,其他进程可抢占这个共享的资源
第4题在Java语言中,密码框组件和设置密码框的回显字符为“*”的方法分别是()
A.JPassWordField和setEchoChar(?*?)
B.JPasswordField和setEchoChar(?*?)
C.JPassWordField和setEchochar(?*?)
D.JPasswordField和setEchochar(?*?)
第5题列表事件的事件源有两种,其中之一是单击列表中的选项,则与单击选项事件相关的接口是()
A.ActionListener
B.ListSelectionEvent
C.ListSelectionListener
D.addListSelectionListener
第6题以下程序代码的输出结果是()
int x=100;
System.out.println("5.5"+x%8);
A.5.512
B.5.512.5
C.18
D.5.54
第7题定义一个使用接口Java.lang.Runnable的类,必须要实现的方法是()
A.start()
B.run()
C.init()
D.paint()
第8题在Java中,线程的调度策略采用()
A.分时式
B.抢占式
C.非分时式
D.非抢占式
第9题下列有关抽象类及抽象方法的叙述错误的是()
A.使用final修饰的类是抽象类
B.使用abstract修饰的方法是抽象方法
C.抽象类必须被继承才能使用,抽象类不可能有实例
D.抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类
第10题采用缓冲式输出时,如果又想立即写入到文件,则需要调用的方法是()
A.flash()
B.flush()
C.write()
D.read()
二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。
第1题使用ResultSet对象的___方法可将数据表游针移到插入位置,输入数据后,用方法insertRow()插入记录。
第2题闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。如果年份用整数类型变量y表示,则y年是闰年的条件用逻辑表达式可描述为___。
第3题___布局是把容器划分成若干行和列的网格状,行数和列数由程序控制,组件放在网格的小格子中。
第4题在Java程序中,设置文本区对象textA能自动换行的方法是:___。
第5题列表的选择模型有单选和多选两种,设置列表选择模型的方法是___。
第6题在Java语言,使用关键字定___义临界段,能对共享对象的操作上锁。
第7题Java语言中,逻辑类型用关键字___标识,也称布尔类型。
第8题在Java语言中,一个对象通过调用___方法可以获得该对象的字符串表示。
第9题在Java语言中,定义一个接口,在接口名前面需要___关键字。
第10题Java语言在实现C/S模式中,套接字分为两类,其中在Server端,___类支持底层的网络通信。
三、程序填空题(本大题共5小题,每空2分,共20分)
第1题以下是生成单选按钮对象,以及单选按钮选择事件处理方法的代码。要求当选中computer单选按钮时,在标签label中显示“计算机性能和价格介绍:”的字样。
…………
computer=new___("计算机");//生成单选按钮对象
computer.addItemListener(this);
…………
public void___(ItemEvent e)
{
if(e.getItemSelectable()==computer)
{
label.setText(computer.getLabel()+"性能和价格介绍:");
}
}
第2题下面小应用程序通过快速显示一组图片(1.jpg~9.jpg)造成显示动画的效果。
import java.awt.*;
import java.applet.*;
public class Class3002 extends Applet implements Runnable
{
final int number=9;
int count=1;
Image[]pic=new Image[number];
Thread myThread;
public void init()
{
setSize(300,200);
for(int i=1;i<=number;i++)
pic[i-1]=___;
}
public void start()
{
myThread=new Thread(this);
myThread.start();
}
public void stop(){myThread=null;}
public void run()
{
while(true)
{
repaint();
count=(count+1)%number;
try{myThread.sleep(1000);}
catch(InterruptedException e){}
}
}
public void paint(Graphics g)
{
if(pic[count]!=null)
g.___(pic[count],10,10,200,200,this);
}
}
drawImage"/>
第3题下面是一个求:1/1+1/2+2/3+3/5+5/8+8/13+13/21+21/32…前20项的和的程序段
float a=1,b=1,s=0;
for(int k=1;k<=10;k++)
{
s=s+a/b;
a=___
s=s+b/a;
b=___
}
System.out.println(s);
第4题以下程序产生一个确认对话框。
import javax.swing.*;
public class Class2905
{
public static void main(String[]args)
{
JFrame myWin=new JFrame();
myWin.setBounds(100,100,200,300);
myWin.setVisible(true);
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
int resule=___.___(myWin,"确实要退出吗?","退出确认",0);
System.out.println(resule);
}
}
第5题下面应用程序,绘制一个红色五角星。请完成程序。
import java.awt.*;
import javax.swing.*;
class MyPanel extends JPanel
{
public void___
{
int r=100;
int x1=100,
x2=(int)(r*(1-Math.cos((18*Math.PI)/180))),
x3=(int)(r*(1+Math.cos((18*Math.PI)/180))),
x4=(int)(r*(1-Math.cos((54*Math.PI)/180))),
x5=(int)(r*(1+Math.cos((54*Math.PI)/180))),
y1=0,
y2=(int)(r*(1-Math.sin((18*Math.PI)/180))),
y3=(int)(r*(1-Math.sin((18*Math.PI)/180))),
y4=(int)(r*(1+Math.sin((54*Math.PI)/180))),
y5=(int)(r*(1+Math.sin((54*Math.PI)/180)));
___
g.drawOval(0,0,200,200);
g.drawLine(x4,y4,x1,y1);g.drawLine(x1,y1,x5,y5);
g.drawLine(x5,y5,x2,y2);g.drawLine(x2,y2,x3,y3);
g.drawLine(x3,y3,x4,y4);
}
}
public class C3002 extends JFrame
{
C3002()
{
super("C3002");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().add(new MyPanel());
setSize(210,242);
setVisible(true);
}
public static void main(String[]args)
{
new C3002();
}
}
四、程序分析题(本大题共5小题,每小题4分,共20分)
第1题阅读下面程序,写出程序功能及当输入6和9时的运行情况。
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Class3402 implements ActionListener
{
JButton butt=new JButton("OK");
JTextField text1=new JTextField(10);
JTextField text2=new JTextField(10);
JTextField text3=new JTextField(10);
public Class3402()
{
JFrame myWin=new JFrame("Class3402");
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container con=myWin.getContentPane();
con.setLayout(new GridLayout(4,1));
con.add(text1);con.add(text2);
con.add(butt);con.add(text3);
butt.addActionListener(this);
myWin.pack();
myWin.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
int a=Integer.parseInt(text1.getText());
int b=Integer.parseInt(text2.getText());
int i;
for(i=1;i<=a*b;i++)
{
if(i%a==0&&i%b==0)break;
}
text3.setText(String.valueOf(i));
}
public static void main(String[]args)
{
new Class3402();
}
}
第2题阅读下面程序,写出程序功能。
import javax.swing.*;
import java.awt.event.*;
public class Class3502 implements ActionListener
{
JMenuItem item1;
JMenuItem item2;
JTextField text;
public Class3502()
{
JFrame myWin=new JFrame();
JMenuBar menubar=new JMenuBar();
JMenu menu=new JMenu("Graph");
item1=new JMenuItem("Circle");
item2=new JMenuItem("Rect");
text=new JTextField(20);
myWin.add(text);
myWin.setJMenuBar(menubar);
menubar.add(menu);
menu.add(item1);
menu.add(item2);
item1.addActionListener(this);
item2.addActionListener(this);
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myWin.setBounds(100,100,200,200);
myWin.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
text.setText(e.getActionCommand());
}
public static void main(String[]args)
{
new Class3502();
}
}
第3题阅读下列程序,写出程序运行结果。
interface Computable
{
final int MAX=100;
int f(int x);
int g(int x,int y);
}
class Aa implements Computable
{
int no;
public int f(int x)
{
int sum=0;
for(int i=1;i<=x;i++)sum=sum+i;
return sum;
}
public int g(int x,int y){return x*y;}
}
class Bb implements Computable
{
int no;
public int f(int x)
{
int sum=0;
for(int i=1;i<=x;i++)sum=sum+i*i;
return sum;
}
public int g(int x,int y){return x+y;}
}
public class Class3204
{
public static void main(String[]args)
{
Aa li;Bb tom;
li=new Aa();li.no=851898;
tom=new Bb();tom.no=951899;
System.out.print("Li的编号"+li.no+","+li.MAX);
System.out.println(","+li.f(3)+","+li.g(3,4));
System.out.print("Tom的编号"+tom.no+","+tom.MAX);
System.out.print(","+tom.f(3)+","+tom.g(3,4));
}
}
第4题阅读下列程序,写出程序功能。
import javax.swing.*;
import java.awt.event.*;
public class Class3405 extends JFrame implements ActionListener
{
public JFrame mw1,mw2;
public Class3405()
{
JButton butt1=new JButton("我是一个按钮");
butt1.setActionCommand("b1");
JButton butt2=new JButton("我是另一个按钮");
butt2.setActionCommand("b2");
butt1.addActionListener(this);
butt2.addActionListener(this);
String name1="我的第一个窗口";
String name2="我的第二个窗口";
mw1=new JFrame(name1);mw1.setSize(500,500);
mw2=new JFrame(name2);mw2.setSize(300,300);
mw1.getContentPane().add(butt1);
mw2.getContentPane().add(butt2);
mw1.setVisible(true);mw2.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
boolean yesNo;
if(e.getActionCommand().equals("b1"))
{
yesNo=!mw2.isVisible();
mw2.setVisible(yesNo);
}
else
{
yesNo=!mw1.isVisible();
mw1.setVisible(yesNo);
}
}
public static void main(String[]args)
{
new Class3405();
}
}
第5题阅读下列程序,写出程序功能。
import java.awt.*;
import java.applet.*;
import javax.swing.*;
import java.awt.event.*;
public class C3402 extends Applet
{
static JFrame myWin;
static SetBG setbg=new SetBG();
static JButton button;
public void init()
{
myWin=new JFrame("C3402");
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myWin.setBounds(100,200,300,400);
myWin.setLayout(new FlowLayout());
Container con=myWin.getContentPane();
con.setBackground(Color.red);
button=new JButton("OK");
button.addActionListener(setbg);
myWin.add(button);
myWin.setVisible(true);
}
}
class SetBG implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
Container con=C3402.myWin.getContentPane();
if(con.getBackground()==Color.red)
con.setBackground(Color.green);
else
con.setBackground(Color.red);
}
}
五、程序设计题(本大题共2小题,每小题6分,共12分)
第1题编写编写一个方法array3701(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值和参数数组各元素的值首尾颠倒。
}
}
输出结果为:4321"/>
第2题设计一个应用程序窗口如下图所示,单击“加”或“减”按钮,将前两个文本框中的整数相加或相减后放入第三个文本框中。已给出部分代码,请完成程序。
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Class3801 implements ActionListener
{
JTextField text1,text2,text3;
JButton addButton,subButton;
public static void main(String[]args)
{
new Class3801();
}
public Class3801()
{
text1=new JTextField(10);
text2=new JTextField(10);
text3=new JTextField(10);
addButton=new JButton("加");
subButton=new JButton("减");
JFrame myWin=new JFrame("Class3801");
Container con=myWin.getContentPane();
myWin.setSize(300,80);
con.setLayout(new GridLayout(1,5));
con.add(text1);con.add(text2);
con.add(addButton);con.add(subButton);
con.add(text3);
addButton.addActionListener(this);
subButton.addActionListener(this);
myWin.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
//这里是你要编写的代码
}
}
if(e.getSource()==subButton)text3.setText(a-b+"");"/>
六、简答题(本大题共6小题,每小题3分,共18分)
第1题请写出程序处理按钮单击事件时,与按钮动作事件相关的接口,注册监视器的方法及要实现的接口方法。
第2题Java语言在实现C/S模式中,套接字分为哪两类?
第3题请写一条语句,实现用预定的颜色填充一个突出显示的矩形色块,其中矩形左上角坐标为(200,100),右下角坐标为(400,500),调用的是类型为Graphics的g对象。
第4题用一个Java语句完成下面的要求:
将变量A.b和c中最大的数值赋值给变量d。
第5题java.awt.event包中用来检测并对事件做出反应的模型包括哪三个组成元素?
第6题使用Java语言进行数据库操作,删除数据表记录有哪三种方案?
以上“2020年04747Java语言程序设计(一)模拟试题(3)”内容由自考生网收集整理,以供参考。
全专业电子资料、题库、学位、网课
最高直省2344元
上千+科次精品网课
买网课即送全真模考题库
五千+科次教材资料
电子资料满三件9折
五千+科次在线题库
全真呈现历年考试试题