java考试复习资料 黄河科技学院考试复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.制作一个JFrame的应用程序,设置背景色为蓝色(blue),布局管理为流式布局,该JFrame 包含一个JButton,名为“关闭”,点击后关闭该JFrame,退出程序。(10分)
解; import java.awt.*;
import javax.swing.*;
public class Flow
{ public static void main(String[] args)
{ FlowLayout flow = new FlowLayout();
JFrame f = new JFrame("Test");
f.getContentPane().setLayout(flow);
JButton button = new JButton(“关闭”)
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0); } } );
f.getContentPane().add(button);
f.setSize(100,200);
f.setBackground(Color.blue);
f.setVisible(true); }}
2.有下面一段Server段程序,目的是能够同时服务多个客户,客户的请求是一句话(一个String)。如果这个请求的内容是字符串"plain"的话,服务器仅将"hello"字符串返回给用户。否则将用户的话追加到当前目录的文本文件Memo.txt中(路径为"Memo.txt"),并向用户返回"OK"。注意Server并发的处理多用户,Memo.txt被共享,要求不能出现数据不一致。Server的程序如下文件Server.java:。。。。。。请根据题目的要求和现有的Server.java, UserThread.java的程序,完成类MemoController.java的程序。(10分)
解:import java.io.*;
public class MemoController{
FileOutputStream fos;
OutputStreamWriter osw;
BufferedWriter bw;
public MemoController(){
try{
fos=new FileOutputStream("memo.txt",true);
osw=new OutputStreamWriter(fos);
bw=new BufferedWriter(osw);
}catch(FileNotFoundException e){}; }
public synchronized void append(String s){
try{ bw.write(s,0,s.length());
bw.flush();
bw.close();
osw.close();
fos.close();
}catch(IOException e){ } }
public static void main(String args[]){
MemoController mmc=new MemoController();
mmc.append("I am xubin ");} }
3.下面的程序A.java是一个应用程序(其源文件中还定义了另一个类B),其实现各自功能的代码没有给出,若程序的功能是在命令行把当前文件夹下的所有后缀名为.java文件显示在命令行界面,每行显示一个文件名,请完成程序后面的1、2小题,将程序补充完整。(8分)1):import java.io 2):public class A { 3): public static void main( String args[ ] ){
…//将当前目录下所有以.java结尾的文件显示在命令行,每行显示一个文件名。
9): } 10): 11): 12): class B implements FilenameFilter {
13): public boolean accept(File dir, String s) {
…//过滤文件名以.java结尾的文件。18): } 19): } (1).类B实现了文件名过滤器接口FilenameFilter,请为接口中的accept方法编写方法体,实现以下功能:若代表文件名的第2个参数s是以字符串.java结尾,则返回true,否则返回false。
if(s.endsWith(".java"))
return true;
else
return false;
(2). 类A中的main方法的功能是:将当前目录下所有以.java结尾的文件显示在命令行,每行显示一个文件名。请写出main方法中的所有代码。
File file = new File(".");
String[] str1 = file.list(new B());
for(int i=0;i { System.out.println(str1[i]); } 4.编写一个完整的Java Application 程序。包含类Student、TestStudent,具体要求如下:(10分) ⑴Student类:①属性name : String对象,表示一个人姓名sex:char类型,用来表示性别id:long类型,表示学号classinfo:String对象,表示班级address :String 对象,表示家庭地址 ②方法Student (String name, char sex, long id):构造函数String getName() :返回姓名void setId(long id) :设置学号void setAddress(String add) :设置家庭地址void setClass(String classinfo) :设置班级信息public String toString() :返回学生的各项信息,包括姓名、性别等上述属性 (2)类TestStudent作为主类要完成测试功能:①用以下信息生成一个Student对象aGirl 姓名:杨阳性别:女学号:1234567 ②设置家庭地址: 浙江杭州教工路42号设置班级信息:2004计算机1班③输出对象aGirl的各项 class Student { // 表示学生的类 protected String name; protected char sex; protected long id; protected String classinfo; protected String address; Student(String name, char sex, long id) { = name; this.sex = sex; this.id = id;} void setId(long id ) { this.id=id; } void setAddress(String addr) { this.address = addr; } void setClass(String classinfo) { this.classinfo =classinfo; } public String toString() { String s = new String( "\n姓名:" + name+ "\n性别:" + sex); s += "\n学号:" + id; if (classinfo != null) s += "\n班级:" + classinfo; if (address != null) s += "\n家庭地址:" +address; return s; }} public class TestStudent { public static void main(String args[]) { Student aGirl = new Student("杨阳", '女',1234567); aGirl.setClass("2004计算机1班"); aGirl.setAddress("浙江杭州教工路42号"); System.out.println("aGirl: " + aGirl); // 这样会输出一个对象的所有属性的现有值} }