作业

  • 格式:doc
  • 大小:95.00 KB
  • 文档页数:9

第七章Java图形用户界面1、阅读下面的程序,回答问题。

import java.awt.*;import javax.swing.*;public class T extends JFrame {public T ( ) {super("GridLayout");Container con=this.getContentPane();con.setLayout(new GridLayout(2,3));con.add(new JButton("a"));con.add(new JButton("b"));con.add(new JButton("c"));con.add(new JButton("d"));con.add(new JButton("e"));con.add(new JButton("f"));setSize(200, 80);setVisible(true);}public static void main(String args[]) {new T();}}◆画图表示程序运行后的图形界面。

如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的方法头声明如何?答:ActionListener,actionPerformed(ActionEvent e)2、编写一个简单的计算器,要求图形用户界面如下图所示。

import java.awt.*;import javax.swing.*;public class jsq{public static void main(String[] args) {JFrame Jsq=new JFrame("计算器");Container con=Jsq.getContentPane(); con.setLayout(new GridLayout(4,5)); con.add(new JButton("7"));con.add(new JButton("8"));con.add(new JButton("9"));con.add(new JButton("*"));con.add(new JButton("c"));con.add(new JButton("4"));con.add(new JButton("5"));con.add(new JButton("6"));con.add(new JButton("-"));con.add(new JButton("i"));con.add(new JButton("1"));con.add(new JButton("2"));con.add(new JButton("3"));con.add(new JButton("x"));con.add(new JButton("m"));con.add(new JButton("0"));con.add(new JButton("."));con.add(new JButton("-"));con.add(new JButton("/"));con.add(new JButton("//"));Jsq.setSize(350, 200);Jsq.setVisible(true);}}3、请编写一个简单的用户登录程序。

要求使用图形用户界面,用户名和密码假定均为java,且密码输入时全部显示为星号(*)。

import javax.swing.*;public class dl{public static void main(String[] args){JFrame di=new JFrame("登陆程序");JTextField t1=new JTextField();JPasswordField t2=new JPasswordField();JButton t3=new JButton("登陆");di.setLocation(200,150);di.setSize(240,220);di.setLayout(null);t1.setBounds(20,10,140,20);t2.setBounds(20,40,140,20);t3.setBounds(20,70,80,20);di.add(t1);di.add(t2);di.add(t3);di.setVisible(true);}}4、编写一个显示六个标签的框架,将标签前景色设为黑色、蓝色、青色、绿色、红色、橙色,标签边界为黄色边界,标签字体为TimesRoman、加粗、20像素,每个标签的文本为前景色名字。

如下图。

第八章Java多线程技术1、程序如下:public class Borley extends Thread{public static void main(String[] argv){Borley b = new Borley();b.start();}public void run(){System.out.println("Running");}}下面描述正确的是:(B)单选A) 通过编译和运行但是没有任何输出。

B) 通过编译,运行后输出"Running"C) 编译出错,没有线程可供运行D) 编译出错,没有权限使用Thread2、编写程序,启动1000个线程,每个线程给初值为0的变量sum加1。

(提示,需要通过引用传递,将sum传递给每个线程,为了能够进行引用传递,需要定义一个Integer包装对象来保存sum)。

class cj implements Runnable{public static int sum=0;public void run(){sum++;}}public class XC{public static void main(String[] args){int i;Thread[] t=new Thread[1000];for(i=0;i<1000;i++){cj m;m=new cj();t[i]=new Thread(m);t[i].start();}System.out.println("sum="+cj.sum);}}3、利用多线程技术模拟龟兔赛跑的场面。

提示:先设计一个线程类模拟两个参与赛跑的选手的行为;然后创建该类的两个对象分别代表乌龟和兔子;让兔子跑快些,但在路上睡眠休息时间长些,而乌龟跑慢些却不休息;当某个选手到达终点时其线程运行结束;二个选手均到达终点时,显示并祝贺获胜选手,然后主线程结束。

class gui implements Runnable{int sc=0;public void run(){while(sc<1000){sc+=20;try{Thread.currentThread().sleep((int)(100*Math.random()));}catch(InterruptedException e){}}System.out.println("恭喜乌龟获得胜利!");System.exit(0);}}class tu implements Runnable{int sc=0;public void run(){while(sc<1000){sc+=200;try{Thread.currentThread().sleep((int)(1000*Math.random()));}catch(InterruptedException e){}}System.out.println("恭喜兔子获得胜利!");System.exit(0);}}public class gt{public static void main(String[] args){gui t1=new gui();tu t2=new tu();Thread t3=new Thread(t1);Thread t4=new Thread(t2);t3.start();t4.start();}}第九章网络编程1、关于数据报通信(UDP)和流式通信(TCP)的论述,正确的有:(选择1项)A)TCP和UDP在很大程度上是一样的,由于历史原因产生了两个不同的名字而已B)TCP和UDP在传输方式上是一样的,都是基于流的但是TCP可靠,UDP不可靠C)TCP和UDP使用的都是IP层所提供的服务D)用户不可以使用UDP来实现TCP的功能2、说明程序功能。

import .*;import java.io.*;public class SimpleTalkServer { //存放所有通信线程public static ArrayList<Client> allclient=new ArrayList<Client>();public static int clientnum=0; //连接客户数public static void main(String args[]) {try {ServerSocket s = new ServerSocket(5432);while (true) {Socket s1=s.accept(); //等待客户连接DataOutputStream dos = new DataOutputStream(s1.getOutputStream());DataInputStream din = new DataInputStream(s1.getInputStream()); Client x = new Client(clientnum,dos,din);allclient.add(x);allclient[clientnum].start();clientnum++;}} catch (IOException e) { }} }class Client extends Thread {int id; //客户标识DataOutputStream dos; //去往客户的输出流DataInputStream din; //来自客户的输入流public Client(int id, DataOutputStream dos, DataInputStream din) {this.id=id;this.dos=dos;this.din=din;public void run() {while(true) {try {String message=din.readUTF();int m=SimpleTalkServer.clientnum;for (int i=0;i<m;i++) {SimpleTalkServer.allclient[i].dos.writeUTF(message);}} catch(IOException e) {}}}}3、编写一个程序,使两个用户可以互相聊天。