Java程序设计—编程习题

1.编写一个输出"Hello World"的程序,用两种方式实现(ApplicationApplet)。

2.打印输出10行杨晖三角形

3.编写一个程序用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。

4.使用socket编写一个服务器端程序,服务器端程序在端口8888监听,如果它接到客户端发来的"hello"请求时会回应一个"hello",对客户端的其他请求不响应。

5.
编写一个应用程序,创建三个线程分别显示各自的时间。

6.
编写一个计算器程序,只有加减乘除功能,当作applet运行。

7.编写一个Application程序:判断一个数是否为素数

要求:此数据是从命令行参数得到,然后判断其是否为素数,如果是,打印“是素数”,如果不是,则打印“不是素数”,如果没有参数输入,显示“请输入一个参数”

 

8.编写一个Applet程序:画图

要求:界面上有2个按钮,一个为标签为“椭圆”,另一个为“矩形”,点击后分别画红色的椭圆和蓝色的矩形,其宽度为100、高度为60,左上角顶点坐标为(50,50),试写出完整程序,并且要写出其对应的HTML文件代码。

9.编写一个Application程序:

要求:从主方法读入一个n位整数(3<n<8),将该数每一位间隔输出,如输入 5231,则程序输出 5     2     3     1

 

10.编写一个Applet程序:画图

要求:在Applet坐标系中(30,30) 处开始画一个红色的矩形,宽200,高100,并将该矩形均匀划分成510列。

11.有下面一段Server段程序,目的是能够同时服务多个客户,客户的请求是一句话(一个 String)。如果这个请求的内容是字符串"plain"的话,服务器仅将"hello"字符串返回给用户。否则将用户的话追加到当前目录的文本文件Memo.txt中(路径为"Memo.txt"),并向用户返回"OK"。注意Server并发的处理多用户,Memo.txt被共享,要求不能出现数据不一致。Server的程序如下文件Server.java:
   public class Server{
    public static void main(String args[]){
     MemoController memoController = new MemoController();
     try{
       ServerSocket ss = new ServerSocket(1999);
        while (true){
         Socket s = ss.accept();
         try{
           UserThread t = new UserThread(s, memoController);
           t.start();
           }catch(Exception e){
            e.printStackTrace();
           }
         }
        }catch(Exception e){
          e.printStackTrace();
        }finally{
          memoController.close();
        }
      }
    }

 类UserThread程序如下:
  文件UserThread.java
   public class UserThread extends Thread{
    Socket s;
    MemoController memo;
    public UserThread (Socket s, MemoController memo){
     this.s = s;
     this.memo = memo;
    }
    public void run(){
     try{
       BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
       PrintWriter pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));
       String req = br.readLine();
       if (req.equals("plain")){
        pw.println("hello");
       }else{
        memo.append(req);
        pw.println("OK");
       }
       pw.flush();
       pw.close();
       br.close();
       s.close();
     }catch(Exception e){
      e.printStackTrace();
     }
    }
   }

请根据题目的要求和现有的Server.java, UserThread.java的程序完成类MemoController.java的程序。

12.用输入/输出写一个程序,让用户输入一些姓名和电话号码。每一个姓名和号码将加在文件里。用户通过点"Done"按钮来告诉系统整个列表已输入完毕。 如果用户输入完整个列表,程序将创建一个输出文件并显示或打印出来。 格式如:555-1212,Tom 123-456-7890,Peggy L. 234-5678,Marc 234-5678,Ron 876-4321,Beth&Brian 33.1.42.45.70,Jean-Marc

13.构造一个类来描述屏幕上的一个点,该类的构成包括点的xy两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。

14.
编写一个应用程序,完成文件的拷贝功能,文件名从命令行得到。
15.
利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。它的GUI界面如下所示: 利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。它的GUI界面如下所示:


 
  要求该程序能够完成以下功能:
  (1) 在界面上方的文本框中,按照"小时:分钟:秒"的顺序实时显示系统时间;
  (2) 当按下界面中间的"Current Time:"按钮时,当前系统时间能够在界面下方的文本框中显示出来。
  提示:可以通过调用java.util.Data类的方法,获得系统时间。Data类的接口如下所示,
   public class Date {
   // 返回当前系统时间的小时值
   public String getHours( ) { …}
   // 返回当前系统时间的分钟值
   public String getMintues( ) { … }
   // 返回当前系统时间的秒钟值
   public String getSeconds( ) { …}
   
   }

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值