Java实验指导书.doc_第1页
Java实验指导书.doc_第2页
Java实验指导书.doc_第3页
Java实验指导书.doc_第4页
Java实验指导书.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA编程技术实验指导书14学时指导教师:张智实验1 Java基础编程(4学时)实验目的1. 掌握设置、编写与运行Java程序的方法。2. 掌握Java基本数据类型、运算符与表达式、数组的使用方法。3. 掌握Java程序顺序结构、选择结构、循环结构的程序设计方法。实验任务1. 用循环语句编写一个程序,算出1000之内的全部素数。2. 写出符合如下要求的程序,并运行。(1)声明两个长度为10的double类型的数组A、B,并赋值。(2)用这两个数组中的元素做加法运算,然后将结果保存在数组C之中。(3)分别将这三个数组中的元素输出。3. 使用递归方法输出杨辉三角,数据要存放在二维数组中,要求输出10行。实验代码:1. 用循环语句编写一个程序,算出1000之内的全部素数。package shiyan1;public class sushu public static boolean isPrime(int num) for(int i = 2; i = Math.sqrt(num); i+) if(num % i = 0) return false; return true; public static void main(String args)int i=0;for(int j = 2; j = 1000; j+)if(sushu.isPrime(j) System.out.print(j + ); i+;if(i=10)System.out.println();i=0; 实验截图:2. 写出符合如下要求的程序,并运行。(1)声明两个长度为10的double类型的数组A、B,并赋值。(2)用这两个数组中的元素做加法运算,然后将结果保存在数组C之中。(3)分别将这三个数组中的元素输出。实验代码:package shiyan1;import java.util.Arrays;public class shuzuxiangjia public static void main(String args) / TODO Auto-generated method stubdoublea= new double1,2,3,4,5,6,7,8,9,10;doubleb= new double1,2,3,4,5,6,7,8,9,10;doublec= new double10;for(int i=0;ia.length;i+)ci=ai+bi;System.out.print(Arrays.toString(a);System.out.println();System.out.print(Arrays.toString(b);System.out.println();System.out.print(Arrays.toString(c);System.out.println();实验截图:3. 使用递归方法输出杨辉三角,数据要存放在二维数组中,要求输出10行。实验代码:package shiyan1;public class yanghuisanjiao public static int yang(int i,int j)if(i=j|j=0)return 1;return yang(i-1,j-1)+yang(i-1,j);public static void main(String args) / TODO Auto-generated method stubint n=10;int mat=new int10;for(int i=0;in;i+)mati=new inti+1;for(int i=0;imat.length;i+)for(int j=0;jmati.length;j+)matij=yang(i,j);for(int i=0;imat.length;i+)for(int j=0;jmati.length;j+)System.out.print(String.format(%4d,matij);System.out.println();实验截图:实验2 Java面向对象编程(2学时)实验目的1. 掌握创建类和对象的方法。2. 掌握构造方法的执行过程。3. 掌握Java继承、多态和接口的编程方法。实验任务1. 创建Rodent(啮齿动物)抽象类,其子类有Mouse(老鼠)、Mole(鼹鼠)、Hamster(大颊鼠)。在父类中,提供对所有的Rodent通用的方法。在子类中,根据该子类特定的行为习性来覆盖这些方法。例如老鼠属杂食(omnivorous),鼹鼠主食昆虫(insect),大颊鼠主食植物种子(plant seed)。创建一个Rodent数组,填充不同的数据类型,然后调用测试相关方法。2. 修改上述第1题中的Rodent类,使其成为一个接口。在接口中声明方法eatWhichFood。定义各种啮齿动物类,并实现这个接口。创建各种啮齿动物类的对象,观察程序的输出。实验代码:1. 创建Rodent(啮齿动物)抽象类,其子类有Mouse(老鼠)、Mole(鼹鼠)、Hamster(大颊鼠)。在父类中,提供对所有的Rodent通用的方法。在子类中,根据该子类特定的行为习性来覆盖这些方法。例如老鼠属杂食(omnivorous),鼹鼠主食昆虫(insect),大颊鼠主食植物种子(plant seed)。创建一个Rodent数组,填充不同的数据类型,然后调用测试相关方法。package shiyan2;public abstract class Rodent private String RodentName;Rodent(String s)RodentName =s;public abstract String getInformation();public String getName()return RodentName;class Mouse extends Rodent private String food;public Mouse(String F,String s)super(s);food=F;public String getInformation()return Mouse类型的+getName()+的食物是+food;class Mole extends Rodentprivate String food;public Mole(String F,String s)super(s);food=F;public String getInformation()return Mole类型的+getName()+的食物是+food; class Hamster extends Rodentprivate String food;public Hamster(String F,String s)super(s);food=F;public String getInformation()return Hamster类型的+ getName()+的食物是+food;package shiyan2;public class testRodent public static void main(String args) Rodentrodent=new Rodent3;rodent0=new Mouse (omnivorous,xiaozhang);rodent1=new Mole(insect,xiaozhi);rodent2=new Hamster (plant seed,xiaochen);for(Rodent e:rodent)System.out.println(e.getInformation();实验截图:2. 修改上述第1题中的Rodent类,使其成为一个接口。在接口中声明方法eatWhichFood。定义各种啮齿动物类,并实现这个接口。创建各种啮齿动物类的对象,观察程序的输出。实验代码:package shiyan2_2;interface Rodent String eatWhichFood(); class Mouse implements Rodentprivate String name;private String food;public Mouse(String aname,String afood)=aname;this.food=afood;public String eatWhichFood()returnMouse类型的+ name+s food is+food; class Mole implements Rodentprivate String name;private String food;public Mole(String aname,String afood)=aname;this.food=afood;public String eatWhichFood()returnMole类型的+ name+s food is+food; class Hamster implements Rodentprivate String name;private String food;public Hamster(String aname,String afood)=aname;this.food=afood;public String eatWhichFood()return Hamster类型的+name+s food is+food;package shiyan2_2;import shiyan2_2.Rodent;public class testRodent public static void main(String args) Rodent rodent=new Rodent3;rodent0=new Mouse(xiaoxu,omnivorous);rodent1=new Mole(xiaozhi,insect);rodent2=new Hamster(xiaowei,plant seed); /* Rodent a=new Mouse(xiaoxu,omnivorous); Rodent b=new Mole(xiaozhi,insect); Rodent c=new Hamster(xiaowei,plant seed);或者这一种也行*/ for(Rodent e:rodent) System.out.println(e.eatWhichFood(); 实验截图:实验3 Java Swing编程(4学时)实验目的1. 掌握Java Swing常用组件的编程方法。2. 理解Java事件。实验任务1. 设计一个JFrame窗口,输入学生的基本信息,包括学号、姓名、学院、专业(下拉列表)、班级、籍贯(级联)、性别(单选按钮)、爱好(多选)、备注等,在界面中包括提交和重填按钮。提交后弹出窗口显示学生信息。要求尽量使用不同的Swing组件。2. 实现一个计算器,界面包括10个数字按钮(0至9)和四个运算符(加减乘除)按钮,以及等号和清空两个辅助按钮,还有一个用于显示输入输出的文本框。设计一个JFrame窗口,输入学生的基本信息,包括学号、姓名、学院、专业(下拉列表)、班级、籍贯(级联)、性别(单选按钮)、爱好(多选)、备注等,在界面中包括提交和重填按钮。提交后弹出窗口显示学生信息。要求尽量使用不同的Swing组件。实验代码:package shiyan3_1;import java.awt.BorderLayout;import java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.ButtonGroup;import javax.swing.GroupLayout;import javax.swing.GroupLayout.Alignment;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.LayoutStyle.ComponentPlacement;import javax.swing.JTextField;import javax.swing.SwingConstants;import java.awt.Font;import javax.swing.JComboBox;import javax.swing.DefaultComboBoxModel;import javax.swing.JRadioButton;import java.awt.event.ItemListener;import java.awt.event.ItemEvent;import javax.swing.JCheckBox;import javax.swing.JButton;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;public class JFrameDemo_01 extends JFrame private JPanel cP1;private JTextField TF1;private JTextField TF2;private JTextField TF3;String s1=;String s2=;String s3=;String s4=;String s5=;String s6=;String s7=;/* * Launch the application. */public static void main(String args) EventQueue.invokeLater(new Runnable() public void run() try JFrameDemo_01 frame = new JFrameDemo_01();frame.setVisible(true); catch (Exception e) e.printStackTrace(););/* * Create the frame. */public JFrameDemo_01() setTitle(u5B66u751Fu7BA1u7406u7CFBu7EDFrn);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 676, 485);cP1 = new JPanel();cP1.setBorder(new EmptyBorder(5, 5, 5, 5);setContentPane(cP1);JLabel LB1 = new JLabel(u5B66u53F7);LB1.setFont(new Font(宋体, Font.PLAIN, 18);JLabel LB2 = new JLabel(u59D3u540D);LB2.setFont(new Font(宋体, Font.PLAIN, 18);TF1 = new JTextField();TF1.setHorizontalAlignment(SwingConstants.LEFT);TF1.setColumns(10);TF2 = new JTextField();TF2.setHorizontalAlignment(SwingConstants.LEFT);TF2.setColumns(10);JLabel LB3 = new JLabel(u5B66u9662rn);LB3.setFont(new Font(宋体, Font.PLAIN, 18);JLabel LB4 = new JLabel(u4E13u4E1A);LB4.setFont(new Font(宋体, Font.PLAIN, 18);JLabel LB5 = new JLabel(u73EDu7EA7rn);LB5.setFont(new Font(宋体, Font.PLAIN, 18);JComboBox cbB1 = new JComboBox();cbB1.setModel(new DefaultComboBoxModel(new String u8BF7u4E0Bu62C9u5217u8868u9009u62E9u5B66u9662, u8BA1u7B97u673Au5B66u9662, u6750u51B6u5B66u9662, u57CEu5EFAu5B66u9662, u5916u56FDu8BEDu5B66u9662, u4FE1u606Fu5B66u9662, u8D44u73AFu5B66u9662, u7BA1u7406u5B66u9662, u7406u5B66u9662, u533Bu5B66u9662);JComboBox cbB2 = new JComboBox();cbB2.setModel(new DefaultComboBoxModel(new String u8BF7u4E0Bu62C9u5217u8868u9009u62E9u4E13u4E1A, u4FE1u606Fu5B89u5168, u8F6Fu4EF6u5DE5u7A0B, u7F51u7EDCu5DE5u7A0B, u8BA1u7B97u673Au79D1u5B66u4E0Eu6280u672F);JComboBox cbB3 = new JComboBox();cbB3.setModel(new DefaultComboBoxModel(new String u8BF7u4E0Bu62C9u5217u8868u9009u62E9u73EDu7EA7, XA1301, XA1302, R1, R2, W1, W2, W3, DB1, DB2, J1, J2, J3, J4, J5, DZ1, DZ2, DZ3);JLabel LB6 = new JLabel(u6027u522Brn);LB6.setFont(new Font(宋体, Font.PLAIN, 18);JRadioButton rB1 = new JRadioButton(u7537rn);rB1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if(rB1.isSelected()s1=rB1.getText();elses1+=;);rB1.setFont(new Font(宋体, Font.PLAIN, 12);JRadioButton rB2 = new JRadioButton(u5973);rB2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if(rB2.isSelected()s2=rB2.getText();elses2=;);rB2.setFont(new Font(宋体, Font.PLAIN, 12);ButtonGroup btn1=new ButtonGroup();btn1.add(rB1);btn1.add(rB2);JLabel JB7 = new JLabel(u7C4Du8D2F);JB7.setFont(new Font(宋体, Font.PLAIN, 18);final JComboBox comboBox_2 = new JComboBox();comboBox_2.setFont(new Font(宋体, Font.PLAIN, 12);final JComboBox comboBox_1 = new JComboBox();comboBox_1.addItemListener(new ItemListener() public void itemStateChanged(ItemEvent e) int index=comboBox_1.getSelectedIndex();switch(index)case 0:comboBox_2.removeAllItems();comboBox_2.addItem(请选择您所在的城市);break;case 1:comboBox_2.removeAllItems();comboBox_2.removeAllItems();comboBox_2.addItem(武汉);comboBox_2.addItem(黄石);comboBox_2.addItem(黄冈);comboBox_2.addItem(咸宁);comboBox_2.addItem(天门);comboBox_2.addItem(鄂州);comboBox_2.addItem(襄樊);comboBox_2.addItem(荆州);break;case 2:comboBox_2.removeAllItems();comboBox_2.addItem(长沙);comboBox_2.addItem(岳阳);comboBox_2.addItem(衡阳);comboBox_2.addItem(永州);comboBox_2.addItem(郴州);comboBox_2.addItem(邵阳);comboBox_2.addItem(娄底);comboBox_2.addItem(常德);comboBox_2.addItem(湘潭);break;case 3:comboBox_2.removeAllItems();comboBox_2.addItem(南昌);comboBox_2.addItem(上饶);comboBox_2.addItem(景德镇);comboBox_2.addItem(九江);comboBox_2.addItem(新余);break;case 4:comboBox_2.removeAllItems();comboBox_2.addItem(杭州);comboBox_2.addItem(宁波);comboBox_2.addItem(温州);comboBox_2.addItem(绍兴);comboBox_2.addItem(湖州);comboBox_2.addItem(金华);break;case 5:comboBox_2.removeAllItems();comboBox_2.addItem(济南);comboBox_2.addItem(青岛);comboBox_2.addItem(淄博);comboBox_2.addItem(烟台);comboBox_2.addItem(威海);comboBox_2.addItem(枣庄);comboBox_2.addItem(潍坊);comboBox_2.addItem(济宁);break;case 6:comboBox_2.removeAllItems();comboBox_2.addItem(广州);comboBox_2.addItem(深圳);comboBox_2.addItem(佛山);comboBox_2.addItem(东莞);comboBox_2.addItem(中山);comboBox_2.addItem(珠海);comboBox_2.addItem(汕头);comboBox_2.addItem(潮州);break;case 7:comboBox_2.removeAllItems();comboBox_2.addItem(南京);comboBox_2.addItem(徐州);comboBox_2.addItem(无锡);comboBox_2.addItem(常州);comboBox_2.addItem(苏州);comboBox_2.addItem(南通);comboBox_2.addItem(连云港);comboBox_2.addItem(镇江);break;);comboBox_1.setModel(new DefaultComboBoxModel(new String u8BF7u4E0Bu62C9u5217u8868u9009u62E9u7701u4EFD, u6E56u5317, u6E56u5357, u6C5Fu897F, u6D59u6C5F, u5C71u4E1C, u5E7Fu4E1C, u6C5Fu82CF);comboBox_1.setFont(new Font(宋体, Font.PLAIN, 12);JLabel LB8 = new JLabel(u7701rn);LB8.setFont(new Font(宋体, Font.PLAIN, 18);JLabel LB9 = new JLabel(u7231u597Drn);LB9.setFont(new Font(宋体, Font.PLAIN, 18);JCheckBox CB1 = new JCheckBox(u8DB3u7403rn);CB1.setFont(new Font(宋体, Font.PLAIN, 12);CB1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if(CB1.isSelected()s3=CB1.getText();elses3=;);JCheckBox CB2 = new JCheckBox(u7FBDu6BDBu7403);CB2.setFont(new Font(宋体, Font.PLAIN, 12);CB2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if(CB2.isSelected()s4=CB2.getText();elses4=;);JCheckBox CB3 = new JCheckBox(u7BEEu7403);CB3.setFont(new Font(宋体, Font.PLAIN, 12);CB3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if(CB3.isSelected()s5=CB3.getText();elses5=;);JCheckBox CB4 = new JCheckBox(u7F51u7403);CB4.setFont(new Font(宋体, Font.PLAIN, 12);CB4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if(CB4.isSelected()s6=CB4.getText();elses6=;);JCheckBox CB5 = new JCheckBox(u5531u6B4C);CB5.setFont(new Font(宋体, Font.PLAIN, 12);CB5.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if(CB5.isSelected()s7=CB5.getText();elses7=;);/*grouplayout 支持两种组串行组SequentialGroup()按顺序一个接一个的放置其子元素 并行组ParallelGroup()能够以四种方式对齐其子元素 * setHorizontalGroup()是指按照水平来确定分级别setVerticalGroup()是按照垂直来确定的,他们的级别是按照group去设置优先级别的,级别越高就显示越上面 多个component添加到parallelgroup然后多个parallelgroup添加到sequentialgroup中去然后在设置到grouplayout中 */JLabel LB10 = new JLabel(u5907u6CE8);LB10.setFont(new Font(宋体, Font.PLAIN, 18);TF3 = new JTextField();TF3.setColumns(10);JButton But1 = new JButton(u63D0u4EA4);But1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String ID,username,banji,beizhu,xueyuan,zhuanye,shengfen,city; ID=TF1.getText();username=TF2.getText();xueyuan=new String(String) cbB1.getSelectedItem();/*这一句话十分值得注意!我觉得很有道理的样子*/banji=new String(String) cbB3.getSelectedItem();zhuanye=new String(String) cbB2.getSelectedItem();shengfen=new String(String) comboBox_1.getSelectedItem();city=new String(String) comboBox_2.getSelectedItem();beizhu=TF3.getText();JOptionPane.showMessageDialog(null, 您输入的信息是 +n+学号: +ID+ n+用户名: +username+n+学院: +xueyuan+n+专业: +zhuanye+n+班级: +banji+n+籍贯 + shengfen+city+n+性别: + s1+s2+n+爱好 :+s3+ +s4+n+ +s5+n+ +s6+n+ +s7+n+备注 :+beizhu););But1.setFont(new Font(宋体, Font.PLAIN, 18);JButton But2 = new JButton(u91CDu7F6E);But2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) TF1.setText();TF2.setText();TF3.setText();CB1.setSelected(false);CB2.setSelected(false);CB3.setSelected(false);CB4.setSelected(false);CB5.setSelected(false);rB1.setSelected(false);rB2.setSelected(false);cbB1.setModel(new DefaultComboBoxModel(new String u8BF7u4E0Bu62C9u5217u8868u9009u62E9u5B66u9662, u8BA1u7B97u673Au5B66u9662, u6750u51B6u5B66u9662, u57CEu5EFAu5B66u9662, u5916u56FDu8BEDu5B66u9662, u4FE1u606Fu5B66u9662, u8D44u73AFu5B66u9662, u7BA1u7406u5B66u9662, u7406u5B66u9662, u533Bu5B66u9662);cbB2.setModel(new DefaultComboBoxModel(new String u8BF7u4E0Bu62C9u5217u8868u9009u62E9u4E13u4E1A, u4FE1u606Fu5B89u5168, u8F6Fu4EF6u5DE5u7A0B, u7F51u7EDCu5DE5u7A0B, u8BA1u7B97u673Au79D1u5B66u4E0Eu6280u672F);cbB3.setModel(new DefaultComboBoxModel(new String u8BF7u4E0Bu62C9u5217u8868u9009u62E9u73EDu7EA7, XA1301, XA1302, R1, R2, W1, W2, W3, DB1, DB2, J1, J2, J3, J4, J5, DZ1, DZ2, DZ3);comboBox_1.setSelectedItem(false);comboBox_2.setSelectedItem(false););But2.setFont(new Font(宋体, Font.PLAIN, 18);GroupLayout gl_cP1 = new GroupLayout(cP1);gl_cP1.setHorizontalGroup(gl_cP1.createParallelGroup(Alignment.LEADING).addGroup(gl_cP1.createSequentialGroup().addGap(25).addGroup(gl_cP1.createParall

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论