java语言和www技术实验作业.docx

上传人:牧羊曲112 文档编号:3159792 上传时间:2023-03-11 格式:DOCX 页数:15 大小:40.54KB
返回 下载 相关 举报
java语言和www技术实验作业.docx_第1页
第1页 / 共15页
java语言和www技术实验作业.docx_第2页
第2页 / 共15页
java语言和www技术实验作业.docx_第3页
第3页 / 共15页
java语言和www技术实验作业.docx_第4页
第4页 / 共15页
java语言和www技术实验作业.docx_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《java语言和www技术实验作业.docx》由会员分享,可在线阅读,更多相关《java语言和www技术实验作业.docx(15页珍藏版)》请在三一办公上搜索。

1、java语言和www技术实验作业Java语言和WWW技术课程 实验报告四 姓名: 学号: 实验题1-1 实验要求 在选择“兴趣爱好”的窗体中,有旅游、运动、阅读等选项,编写小程序,完成兴趣爱好的选择,并输出到文本框中。 记录调试过程、步骤、程序和运行结果。 实验程序 import java.awt.*; import java.awt.event.*; class Test3 extends WindowAdapter implements ItemListener Frame f; Panel p; Checkbox c1,c2,c3; TextField tf; public void g

2、o f=new Frame(Test3-3); p=new Panel; c1=new Checkbox(旅游); c2=new Checkbox(运动); c3=new Checkbox(阅读); c1.addItemListener(this); c2.addItemListener(this); c3.addItemListener(this); p.add(c1); p.add(c2); p.add(c3); f.add(p,Center); tf=new TextField; f.add(tf,South); f.addWindowListener(this); MenuBar mb

3、 = new MenuBar; f.setMenuBar(mb); Menu m1 = new Menu(File); Menu m2 = new Menu(Edit); Menu m3 = new Menu(Help); mb.add(m1); mb.add(m2); mb.add(m3); Menu m4 = new Menu(Open); MenuItem mi1 = new MenuItem(New); MenuItem mi2 = new MenuItem(Save); CheckboxMenuItem mi3 = new CheckboxMenuItem(Show); MenuIt

4、em mi4 = new MenuItem(Quit); m1.add(m4); m1.add(mi1); m1.add(mi2); m1.add(mi3); m1.addSeparator; m1.add(mi4); MenuItem mi41 = new MenuItem(Open word); MenuItem mi42 = new MenuItem(Open excel); m4.add(mi41); m4.add(mi42); f.setSize(300,400); f.setVisible(true); public static void main(String args) Te

5、st3 t=new Test3; t.go; public void itemStateChanged(ItemEvent e) String st=you selected : ; if(c1.getState=true) st=st + c1.getLabel + ; if(c2.getState=true) st=st + c2.getLabel + ; if(c3.getState=true) st=st + c3.getLabel + ; tf.setText(st); public void windowClosing(WindowEvent e) System.exit(0);

6、运行结果 实验题1-2 实验要求 在实验1-1程序上添加菜单,如下图所示 调试并记录结果 实验程序 import java.awt.*; import java.awt.event.*; public class Test4_1 extends WindowAdapter implements ItemListener private Frame f; private Checkbox c1,c2,c3; private Panel p; private TextField tf; private MenuBar mb; private Menu mfile,mselect,mhelp; pr

7、ivate MenuItem mf1,mf2,mf3,mf4,mf5; private CheckboxMenuItem ms1,ms2,ms3; public Test4_1 f = new Frame(兴趣爱好窗口); c1 = new Checkbox(旅游); c2 = new Checkbox(运动); c3 = new Checkbox(阅读); p = new Panel; tf = new TextField(20); mb = new MenuBar; mfile = new Menu(File); mselect = new Menu(Select); mhelp = ne

8、w Menu(Help); mf1 = new MenuItem(Open); mf2 = new MenuItem(New); mf3 = new MenuItem(Save); mf4 = new MenuItem(Show); mf5 = new MenuItem(Quit); ms1 = new CheckboxMenuItem(旅游); ms2 = new CheckboxMenuItem(运动); ms3 = new CheckboxMenuItem(阅读); public void lanchFrame f.setMenuBar(mb); mb.add(mfile); mb.ad

9、d(mselect); mb.add(mhelp); mfile.add(mf1); mfile.add(mf2); mfile.add(mf3); mfile.add(mf4); mfile.addSeparator; mfile.add(mf5); mselect.add(ms1); mselect.add(ms2); mselect.add(ms3); f.add(tf,BorderLayout.SOUTH); p.add(c1); p.add(c2); p.add(c3); f.add(p,BorderLayout.CENTER); f.addWindowListener(this);

10、 c1.addItemListener(this); c2.addItemListener(this); c3.addItemListener(this); ms1.addItemListener(this); f.setSize(300,200); f.setVisible(true); public void windowClosing(WindowEvent e) System.exit(0); public void itemStateChanged(ItemEvent e) String st = 您选择的兴趣爱好是:; if (c1.getState=true | ms1.getS

11、tate=true) st = st +c1.getLabel + ; c1.setState(true); ms1.setState(true); if (c2.getState=true) st = st +c2.getLabel + ; if (c3.getState=true) st = st +c3.getLabel + ; if (c1.getState=false &c2.getState=false&c3.getState=false) st = ; tf.setText(st); public static void main(String args) Test4_1 t =

12、 new Test4_1; t.lanchFrame; 运行结果 实验题2 实验要求 运行弹出式菜单程序,调试并记录结果。 实验程序 import java.awt.*; import java.awt.event.*; public class PopupMenuExample implements ActionListener Frame f; Button b; PopupMenu pm; public static void main(String args) PopupMenuExample pme=new PopupMenuExample; pme.init; public voi

13、d actionPerformed(ActionEvent e) pm.show(b,10,10); void init f=new Frame(PopupMenu Example); b=new Button(Press me); b.addActionListener(this); f.add(b,Center); pm=new PopupMenu(Popup); pm.add(new MenuItem(New); pm.add(new MenuItem(Load); pm.add(new MenuItem(Save); pm.add(new MenuItem(Save as.); f.a

14、dd(pm); f.setSize(200,200); f.setVisible(true); 运行结果 实验结论与收获 掌握弹出式菜单的编程方法。 实验题3 实验要求 编写Application程序,生成如图所示界面。完成功能:单击“显示”按钮,显示文本框,“显示”按钮不可用,“不显示”按钮可用;单击“不显示”按钮,文本框不可见,“显示”按钮可用,“不显示”按钮不可用。 完成程序,调试并记录结果。 实验程序 import java.awt.*; import java.awt.event.*; public class Ex4_3 extends WindowAdapter implemen

15、ts ActionListener private Frame f; private TextField tf; private Button b1,b2; public Ex4_3 f=new Frame(Ex4_3); tf=new TextField(20); b1=new Button(显示); b2=new Button(不显示); public void go f.setLayout(new FlowLayout); f.add(b1); f.add(b2); f.add(tf); b1.addActionListener(this); b2.addActionListener(t

16、his); f.addWindowListener(this); f.setSize(300,300); f.setVisible(true); public static void main(String args) Ex4_3 t=new Ex4_3; t.go; public void actionPerformed(ActionEvent e) if(e.getActionCommand=b1.getLabel) /是否为b1按钮被按下? tf.setVisible(true); b1.setEnabled(false); b2.setEnabled(true); else if(e.

17、getActionCommand=b2.getLabel) /是否为b2按钮被按下? tf.setVisible(false); b1.setEnabled(true); b2.setEnabled(false); public void windowClosing(WindowEvent e) System.exit(1); 运行结果 实验结论与收获 掌握在Application程序中对按钮及文本框进行编程的方法。 。 实验题4 实验要求 编写Applet程序,生成如图所示界面。完成功能:单击“显示”按钮,显示文本框,“显示”按钮不可用,“不显示”按钮可用;单击“不显示”按钮,文本框不可见,

18、“显示”按钮可用,“不显示”按钮不可用。 完成程序,调试并记录结果。 实验程序 import java.awt.*; import java.applet.Applet; public class Ex4_4 extends Applet Button b1=new Button( 显示 ); Button b2=new Button( 不显示 ); TextField tf=new TextField(这是一个文本框!,20); Panel p=new Panel; public void init add(b1); add(b2); add(tf); b1.setEnabled(false

19、); public boolean action(Event e,Object o) if(e.target=b1) /判断是否是b1被按下 tf.setVisible(true); b1.setEnabled(false); b2.setEnabled(true); else if(e.target=b2) /判断是否是b2被按下 tf.setVisible(false); b1.setEnabled(true); b2.setEnabled(false); return true; HTML文件程序 运行结果 实验结论与收获 掌握在Applet程序中对按钮及文本框进行编程的方法。 实验题5

20、 实验要求 调试程序。 记录调试过程、步骤、程序和运行结果。 实验程序 import java.io.*; public class FileFilterTest public static void main(String args) File dir=new File(d:/ex); Filter filter=new Filter(java); System.out.println(list java files in directory +dir); String files=dir.list(filter); for(int i=0;ifiles.length;i+) File f=

21、new File(dir,filesi); if(f.isFile) System.out.println(file +f); else System.out.println(sub directory +f ); import java.io.*; public class Filter implements FilenameFilter String extent; Filter(String extent) this.extent=extent; public boolean accept(File dir,String name) return name.endsWith(.+exte

22、nt); 运行结果 实验结论与收获 掌握读取指定类型文件名的方法。 实验题6 实验要求 编程:将当前目录“a.txt”文件中的内容写入新创建的“b.txt”文件中。 调试并记录结果 实验程序 import java.io.*; public class Ex4_6 public static void main(String args) /利用trycatch结构处理IOException异常 try /创建b.txt文件 File myFile =new File(b.txt); myFile.createNewFile;/createNewFile创建新文件 /创建输入流bufIn,从a.

23、txt文件向内存中读入信息的变量 FileReader in= new FileReader(a.txt); BufferedReader bufIn = new BufferedReader(in); /创建输出流bufOut,从内存向b.txt文件中写入信息的变量 FileWriter out= new FileWriter (myFile); BufferedWriter bufOut= new BufferedWriter(out); /定义变量line,从bufIn(从a.txt文件)中读取一行数据 String line; line = bufIn.readLine; /当line

24、的数据不为空时,将line的数据输出写入到bufOut(b.txt文件)中 while ( line!= null ) System.out.println(line); bufOut.write(line,0,line.length); bufOut.newLine; line = bufIn.readLine; /关闭输入流bufIn和输出流bufOut bufIn.close; bufOut.close; catch (IOException e) System.out.println(e); 运行结果 实验结论与收获 掌握读取及写入文本文件的方法。 实验题7 实验要求 编程:创建一个“

25、test.txt”文件,向其中随机输入10个char类型的字符,并打印输出。 调试并记录结果。 实验程序 import java.io.*; public class Ex4_7 public static void main(String args) /利用trycatch结构处理IOException异常 try /创建test.txt文件 File f=new File(test.txt); f.createNewFile; /createNewFile创建文件 /创建一个从内存向文件中写入信息的变量out FileWriter out = new FileWriter(f); /利用o

26、ut向文件写入10个英文字母 char c; for (int i=0;i10;i+) c=(char)(A+Math.random*26); out.write(c); System.out.print(c); /关闭输出流out out.close; catch (IOException e) System.out.println(e); 运行结果 实验结论与收获 掌握创建文本文件并写入内容的方法。 实验题8 实验要求 调试程序,比较两种实现多线程处理的方法。 调试并记录结果。 实验程序 MyRunner程序: class MyRunner implements Runnable int

27、i; public void run i = 1; while (true) System.out.println(My Thread: + i+); if ( i = 50 ) System.out.println(Stop My Thread! ); break; MyThread程序 public class MyThread extends Thread int i; public void run i = 1; while (true) System.out.println(My Thread: + i+); if ( i = 50 ) System.out.println(Stop

28、 My Thread! ); break; public static void main(String args) Thread t = new MyThread; t.start; int i = 1; while (true) System.out.println(Main Thread: + i+); if ( i = 50 ) System.out.println(Stop Main Thread! ); break; TestThread程序 public class TestThread public static void main(String args) int i=1;

29、MyRunner mr = new MyRunner; Thread t = new Thread(mr); t.start; while (true) System.out.println(Main Thread: + i+); if ( i = 50 ) System.out.println(Stop Main Thread! ); break; 运行结果 实验结论与收获 实验题9 实验要求 调试生产者和消费者程序。 分析并记录结果。 实验程序 class Consumer implements Runnable SStack theStack; public Consumer(SStac

30、k s) theStack = s; public void run char c; for (int i=0;i20;i+) c = theStack.pop; System.out.println(Consumed: +c); try Thread.sleep(int)(Math.random*1000); catch(InterruptedException e) class Producer implements Runnable SStack theStack; public Producer(SStack s) theStack = s; public void run char

31、c; for(int i=0; i20; i+) c =(char)(Math.random*26+A); theStack.push(c); System.out.println(Produced: +c); try Thread.sleep(int)(Math.random*100); catch(InterruptedException e) class SStack private int index = 0; private char data = new char10; public synchronized void push(char c) while(index = data

32、.length) try this.wait; catch(InterruptedException e) this.notify; dataindex = c; index+; public synchronized char pop while(index =0) try this.wait; catch(InterruptedException e) this.notify; index-; return dataindex; public class STest public static void main(String args) SStack stack = new SStack; Runnable p=new Producer(stack); Runnable c = new Consumer(stack); Thread t1 = new Thread(p); Thread t2 = new Thread(c); t1.start; t2.start; 运行结果 实验结论与收获

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号