上机模拟试题(三)
上机模拟试题(三)
1.??? 基本操作题 (本大题共 1 小题,共 30 分)
下列程序中,要求从键盘接受字符输入,知道输入字符为”e”(注意是小写)时停止,并且将输入的字符(“e”之前的字符)显示在屏幕上。请将程序补充完整。
??? 程序运行结果如下:
?????? Keep typing,it will stop while enter ‘e’…
?????? ddfsokjlvncozieowdsfadsf]
?????? ddfsofkjivncozi
??????
?????? import java.io.*;
?????? public class ex4_1{
?????????? public static void main(String[] args){
????????????? char ch;
????????????? System.out.println(“Keep typing, it will stop while enter ‘e’…”);
????????????? try{
????????????????? while((ch=________)!=’e’){
???????????????????? System.___________;
????????????????? }
????????????? }catch(IOException ioe){
????????????????? System.________;
????????????? }
?????????? }
?????? }
?
2.??? 简单的应用题 (本大题共 1 小题,共 30 分)
请完成下列Java程序:创建一个下拉式菜单,菜单项包括3个CheckboxMenuItem(复选框),一条分割线和一个Exit项,要求打开或关闭复选框时,确定是哪个被切换,是开还是关,并输出它的状态;选择Exit项能够退出程序。
注意:请勿main()主方法和其他已有语句内容,仅在下划线处添入适当的语句。
import java.awt.*;
import java.awt.event.*;
public class ex4_2 extends Frame implements ItemListener ,ActionListener{
??? public static void main(String[] arg){
?????? ex4_2 obj4_2=new ex4_2();
??? }
??? ex4_2(){
?????? super(“ex4_2”);
?????? MenuBar mb=new MenuBar();
?????? Menu m=new Menu(“Menu”);
?????? MenuItem mi;
?????? mb.add
CheckboxMenuItem cb;
cb=new CheckboxMenuItem(“Check1”);
cb.additemListener(this);
m.add(cb);
cb=new CheckboxMenuItem(“Check2”);
cb.additemListener(this);
m.add(cb);
cb=new CheckboxMenuItem(“Check3”);
cb.additemListener(this);
m.add(cb);
m.addSeparator();
m.add(mi=new MenuItem(“Exit”));
mi.addActionListener(this);
setMenuBar(mb);
setSize(50,50);
show();
?????? }
?????? public void itemStateChanged(ItemEvent event){
?????????? System.out.print(event.getItem());
?????????? switch(event.getStateChange()){
?????????? case ItemEvent.DESELECTED;
????????????? System.out.println(“DESELECTED”);
????????????? break;
?????????? case____________________;
????????????? ____________________:
????????????? break;
?????????? }
?????? }
?????? public void actionperformed(ActionEvent se){
?????????? if(ae.getActionCommand().equals(“Exit”)){
????????????? System.exit(0);
?????????? }
?????? }
??? }
?
3.??? 综合应用题 (本大题共 1 小题,共 40 分)
下面是一个Applet程序,其功能是从3~100之间(包括3和100)每隔0.5秒显示一个新的数字,如果数字为素数,则显示为灰色,其他颜色为绿色。请改正程序中的错误(有下划线的语句),使程序能够输出正确的结果。
??? 注意:不改动程序的结构,不得增行或删行。
??? import java.awt.*;
??? import java.applet.Applet;
??? /*
??? <applet code=ex4_3.class width=800 height=400>
??? </applet>
??? */
??? public class ex4_3 extends Applet{
?????? public Color color4_3=Color.black;
?????? private int n4_3=3;
?????? public myPrime thPrime4_3;
?????? public void init(){
?????????? thPrime4_3=new myPrime(this);
?????????? thPrime4_3.start();
?????? }
?????? public void paint(Graphics g){
?????????? g.setColor(color4_3);
?????????? g.drawString(n4_3,50,50);
?????? }
?????? public int getInt(){
?????????? return n4_3;
?????? }
?????? public void setInt(int i){
?????????? n4_3=I;
?????? }
??? }
??? class myPrime extends Thread{
?????? ex4_3 obj4_3;
?????? myPrime (ex4_3 o){
?????????? this.obj4_3=o;
?????? }
?????? public Boolean isPrime(int n){
??? boolean bPrime=ture;
??? int I=2;
?????? If(n<3||n>100)
?????????? Return false;
?????? While(i<n-l&&bPrime){
?????????? If((n%i)= =0);
????????????? BPrime=false;
?????????? i++;
?????? }
?????? return bPrime;
?????????? }
?????????? public void run(){
????????????? int I;
????????????? for (i=3;i<100;i++)
????????????????? if(isPrime(i))
???????????????????? obj4_3.color4_3=Color.gray;
????????????????? else
???????????????????? obj4_3.color4_3=Color.green;
????????????????? obj4_3.n4_3;
????????????????? obj4_3.repaint();
????????????????? try{
???????????????????? sleep(500);
???????????????????? }catch(InterruptedException ie){
???????????????????? }
????????????????? }
????????????? }
?????????? }
?????????? ex4_3.html
?????????? <HTML>
?????????? <HEAD>
????????????? <TITLE>ex4_3</TITLE>
</HEAD>
<BODY>
<applet code=”ex4_3.class“width=800 height=400>
</applet>
?
</BODY>
?????????? </HTML>