(2) public int indexOf(String str,int fromIndex) //从指定的索引开始,返回指定子字
符串在此字符串中第一次出现处的索引。
(3) public String toUpperCase() // String 中的所有字符都转换为大写 (4) public String toLowerCase () // String 中的所有字符都转换为小写
18、编写一个程序N_Digital.java,随机生成n个数,n的值也随机生成,n的取值范围为10~50。要求将生成的n个数从大到小排序写入n.txt文件保存。
19、编写一个文件拷贝的程序,将文件C:\\test1.txt的内容拷贝到C:\\test2.txt中。
20、编写一个Java程序ReadFileContent.java读取当前目录下的Test.txt文件内容(内容含有中文字),将该文件的内容按行读取出来,并在每行前面加上行号后写入当前目录的myTest.txt文件中。
21、创建一个Frame,有两个Button按钮和一个TextField,点击按钮,在TextField上显示Button信息。
22、创建下图的GUI程序(注意:不需要提供任何功能)。
23、编写一个文本编辑程序TextEdit.java,用户界面中含一个TextArea组件和一个“保存”Button组件(采用BorderLayout布局,TextArea组件放在”Center”区,Button组件放在”South”区),用鼠标单击按钮,程序将TextArea组件中的内容写入文件mytext.txt中。
注:窗口事件可不用处理
24、用Java Swing GUI组件JPanel、JTextField、JLabel和JButton写一个Java程序。这个程序是用来进行简单的加法运算,其中用两个JTextField来输入要进行运算的数值,用一个JLabel来显示结果,用JButton来监听进行运算的指令,可任选你认为合适的布局管理器。
25、编写一个简单的图形界面程序ButtonDemo.java,界面标题为“按钮测试” ,窗口大小为200×100,使用FlowLayout布局,界面上有两个按钮(分别为OK和Cancel),点击OK按钮,则打印“您按了OK按钮!”,点击Cancel按钮,则打印“您按了Cancel按钮!” 。
第 45 页 共 48 页
26、使用AWT或Swing组件编写一个支持中文文本编辑程序TextEdit.java,要求如下: ①用户界面大小为400×200像素,如下图所示:
②程序启动后,多行文本输入框TextArea中显示当前目录下myText.txt文件中原有的内容,如果该文件不存在,则新建该文件。
③“保存”按钮功能:将多行文本输入框TextArea中的内容写入myText.txt文件中保存。 ④“取消”按钮功能:将多行文本输入框TextArea中的内容清空。 ⑤“退出”按钮功能:退出程序 ⑥ 窗口事件不处理
27、一个用AWT编写的用户登陆程序说明如下:
①用户界面大小为200*160像素,如下图所示:
②用户类型包括学生用户和教师用户,缺省为学生用户。
③“确定”按钮功能:如果用户名为空,则打印\用户名不可为空!\;如果密码为空,则打印\密码不可为空!\;如果是学生用户,用户名和密码都是s,登陆成功则打印\学生用户登陆成功\;如果是教师用户,用户名和密码都是t;登陆成功则打印\教师用户登陆成功\;如果登陆不成功,则打印\用户名不存在或者密码不正确!\。 ④“取消”按钮功能:将用户名和密码的输入框清空。 ⑤“退出”按钮功能:退出程序 ⑥窗口事件不处理
⑦该程序的代码框架如下: import java.awt.*;
import java.awt.event.*;
public class UserLogin extends Frame implements ActionListener,ItemListener{
Panel panel1,panel2; //定义两个面板
Label userType,userLabel,pswLabel;//分别定义用户类型、用户名和密码标签
第 46 页 共 48 页
TextField userName,psw;//分别定义用户名和密码文本框
Button yesBtn,cancelBtn,exitBtn;//分别定义确定、取消和退出按钮 Choice userSelect;//用户类型下拉框
int userID=0; //定义用户类型标志变量,0表示学生用户,1表示教师用户
public UserLogin(){ //定义用户登陆界面的构造方法
?? }
?? //事件处理的方法代码块
public static void main(String args[]){ new UserLogin(); } }
根据以上要求,完成下面两个问题的代码: (1)补全用户登陆界面的构造方法的代码 (2)写出该用户登陆的事件处理方法的代码
28、应用Java中线程的概念,编写一个Java程序(包括一个主程序类,一个Thread类的子类)。在主程序中创建2个线程(用子类),将其中一个线程的优先级设为10,另一个线程的优先级设为6。让优先级为10的线程打印200次“线程1正在运行”,优先级为6的线程打印200次“线程2正在运行”。(提示:设置线程优先级用setPriority方法)
29、假设一个银行的ATM机,它可以允许用户存款也可以取款。现在一个账户上有存款200元,用户A和用户B都拥有在这个账户上存款和取款的权利。用户A将存入100元,而用户B将取出50元,那么最后账户的存款应是250元。实际操作过程如下: (1) 先进行A的存款操作:
1) 得到账户的存款数额200,耗时2s。 2) 将账户数额增加100,耗时忽略不计
3) 将新生成的账户结果300返回到ATM机的服务器上,耗时2s (2) 再进行B的取款操作:
4) 得到增加后账户存款数额300,耗时2s。
5) 判断取款额是否小于账户余额,若是,则将账户数额减少50,否则抛出异常信息,
耗时忽略不计。
6) 将新生成的账户结果250返回到ATM机的服务器上,耗时2s。 请根据以上要求,将A的操作和B的操作分别用线程来表示,编写一个Java程序实现该功能。
30、编写一个程序,扫描本机的小于5000的端口,显示正在使用的端口号。要求采用5个线程实现,每个线程扫描1000个端口。
31、用Java编写一个服务器端的程序Server.java,该程序在8000端口监听客户端的请求,如果与客户端连接后,收到客户端发送的数据不是字符串“bye”,则在服务器端打印客户端发来的数据,并向客户端回送一条从键盘输入的信息,若客户端发来的数据是字符串“bye”,
第 47 页 共 48 页
则关闭服务器端程序。
32、编写一个服务器端ServerDemo.java程序,它能够响应客户的请求。如果这个请求的内容是字符串\的话,服务器仅将\字符串返回给用户。否则将用户的话追加到当前目录的文本文件log.txt中,并向用户返回\。
第 48 页 共 48 页