




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学 生 实 验 报 告 册(理工类)课程名称: Java程序设计实验 专业班级: 12计算机科学与技术(1) 学生学号: 学生姓名: 所属院部: 计算机工程学院 指导教师: 马青霞 2014 2015学年 第 2 学期 金陵科技学院教务处制实验项目名称: Java编程基础 实验学时: 4 同组学生姓名: 无 实验地点: A101 实验日期: 4月1日-4月8日 实验成绩: 批改教师: 马青霞 批改时间: 实验1 JAVA编程基础一、 实验目的1、 熟练掌握JDK编写调试Java应用程序及Java小程序的方法;2、 熟练掌握Java应用程序的结构;3、 了解Java语言的特点,基本语句、运算符及表达式的使用方法;4、 熟练掌握常见数据类型的使用;5、熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法;6、熟练掌握数组和字符串的使用。二、实验要求1、编写程序要规范、正确,上机调试过程和结果要有记录;2、做完实验后给出本实验的实验报告。三、实验设备、环境安装有JDK、Eclipse软件的计算机。四、实验步骤 采用记事本编写一个简单的应用程序(1)新建一个记事本文件,重新命名为Hello.java(2)打开记事本,输入以下内容(注意大小写):public class Hellopublic static void main(String args)System.out.println(hello hello);(3)请记录程序编译和执行的步骤,并附上运行结果图。 进入文件所在目录cd classjavajava_ex1 编译N:classjavajava_ex1javac Hello.java运行java Hello结果:五、实验内容1、从键盘上输入学号、班级和姓名,并附上运行结果图。import java.util.Scanner;public class KeyboardDemo public static void main(String args) Scanner scan = new Scanner(System.in);System.out.print(请输入班级:);String cls = scan.nextLine();System.out.print(请输入姓名:);String name = scan.nextLine();System.out.print(请输入学号:);String num = scan.nextLine();System.out.println(班级:+cls+ 姓名:+name+ 学号+num);2、编写一个程序,用来判断输入的是大写字母,小写字母,数字还是其他的字符(if)。import java.util.Scanner;public class CharDemo public static void main(String args) / TODO Auto-generated method stubScanner scan = new Scanner(System.in);while(true)System.out.print(请输入一个字符:);char ch = scan.nextLine().charAt(0);if(Character.isUpperCase(ch)System.out.println(该字符是大写字母:+ch);else if(Character.isLowerCase(ch)System.out.println(该字符是小写字母:+ch);else if(Character.isDigit(ch)System.out.println(该字符是数字:+ch);else System.out.println(该字符是其他字符!); 3、编写一个程序,实现简单加、减、乘除的运算,要求从键盘上输入数据(switch)。import java.util.Scanner;public class Count public static void main(String args) / TODO Auto-generated method stubint num1;int num2;char fh;Scanner sc = new Scanner(System.in);while(true)System.out.println(请输入第一个数:);num1 = sc.nextInt();System.out.println(请输入您的运算符:);fh = sc.next().charAt(0);System.out.println(请输入第二个数:);num2 = sc.nextInt();switch(fh)case +:System.out.println(num1+num2=+(num1+num2);break;case -:System.out.println(num1-num2=+(num1-num2);break;case *:System.out.println(num1*num2=+(num1*num2);break;case /:if(num2=0)break;elseSystem.out.println(num1/num2=+(num1/num2);break;default:System.out.println(输入有误!);break;4、定义一个一维数组,通过键盘输入10个两位整数,并求出其中的最大值和平均值,把结果显示出来。import java.util.Scanner;public class ArrayDemo public static void main(String args) / TODO Auto-generated method stubScanner scan = new Scanner(System.in);int arr = new int10;int sum = 0;System.out.print(请输入10个两位整数:);for(int i=0;i10;i+)arri=scan.nextInt();sum += arri;System.out.println(sum:+String.format(%d, sum);System.out.println(average:+String.format(%.2f, (double)sum/10);5、定义一个5行5列二维数组,用随机数给二维数组赋值,按照5行5列的格式显示出二维数组的内容,把最大值显示出来。public class Array5_5Demo public static void main(String args) / TODO Auto-generated method stubint arr = new int55;for(int i=0;i5;i+)for(int j=0;j5;j+)arrij = (int)(Math.random()*90+10);for(int i=0;i5;i+)for(int j=0;j5;j+)System.out.print(String.format(%4d, arrij);System.out.println();6、实现不规则二维数组的输入和输出。import java.util.Scanner;public class NoRuleArrDemo public static void main(String args) / TODO Auto-generated method stubint arr = new int3;arr0 = new int3;arr1 = new int2;arr2 = new int4;Scanner scan = new Scanner(System.in);for(int i=0;iarr.length;i+)for(int j=0;jarri.length;j+)System.out.print(请输入数据(0-10000):);arrij = scan.nextInt();System.out.println(数组元素为:);for(int i=0;iarr.length;i+)for(int j=0;j10&age50)return true;return false;void show()System.out.println(学号:+num+n姓名:+name+n性别:+sex+n年龄:+age);public class demo1 public static void main(String args) / TODO Auto-generated method stubStudents stu = new Students(1205104006,wjw,f,21);if(stu.judgeAge()&stu.judgeSex()stu.show();elseSystem.out.println(学生初始化信息有误,请重新输入!);2、定义一个方法,用数组作为参数来传递数据(请补充下面的代码)。package test1;import java.util.Arrays;public class demo1 public static void main(String args) int a=10,20,15,40,50,35;Myclass myclass=new Myclass();System.out.println(排序前:); myclass.printArr(a);Arrays.sort(a);System.out.println(排序后);myclass.printArr(a);class Myclass/定义一个方法,实现数组内容的输出void printArr(int arr)for(int i=0;iarr.length;i+)System.out.print(String.format(%4d,arri);System.out.println();3、 定义一个学生类,把学生类当作对象来传递或者用对象数组作为参数传递。package test1;class Studentsprivate String num;private String name;private char sex;private int age;Students(String num,String name,char sex,int age)this.num = num; = name;this.sex = sex;this.age = age;void show()System.out.println(学号:+num+n姓名:+name+n性别:+sex+n年龄:+age);public class demo2 public static void main(String args) Students stu= new Students2 ;stu0= new Students(1205104006,wjw,f,21);stu1= new Students(12051040,ys,m,22);print(stu); public static void print(Students stu) for(int i=0;istu.length;i+)System.out.println(第+(i+1)+个学生的信息:);stui.show();4、 利用方法的重载两个整数和两个双精度类型数据求和。package test1;class Addpublic int Add(int num1,int num2)return num1+num2;public double Add(double num1,double num2)return num1+num2;public class demo3 public static void main(String args) int num1 = 10;int num2 = 20;double num3 = 10.23;double num4 = 30.74;Add add = new Add();System.out.println(int和:+num1+num2+=+add.Add(num1, num2);System.out.println(double整数和:+num3+num4+=+String.format(%.2f, add.Add(num3, num4);5、定义一个Area类,用构造函数重载,实现矩形的面积,圆的面积,梯形的面积,定义一个ShowArea方法,显示结果。package test1;class Areaprivate static final double PI = 3.14;private double area;Area(double width,double length)area = width*length;Area(double radius)area = PI*radius*radius;Area(double length1,double length2,double height)area = (length1+length2)*height/2;public void showArea()System.out.println(String.format(%.2f, area);public class AreaDemo public static void main(String args) Area rectangle = new Area(3.0,5.5);Area cycle = new Area(2.4);Area echelon = new Area(3.2,4.5,4);System.out.print(rectangle area:);rectangle.showArea();System.out.print(cycle area:);cycle.showArea();System.out.print(echelon area:);echelon.showArea();6、在该程序中构造一个Person基类,在Person类的基础上再构造Student类,实现方法的覆盖。class Personprivate int age;private String name;Person(String name,int age) = name;this.age = age;void show()System.out.println(name:+name+nage:+age);void method()System.out.println(method调用);class Student extends PersonStudent(String name, int age) super(name, age);void method()System.out.println(method调用.study.);public class ExtendDemo public static void main(String args) Student stu = new Student(wjw,21);stu.show();stu.method();7、用面向对象的知识,实现实验一的计算器程序。package htp;import java.util.Scanner;class Operationprivate int num1;private int num2;char opt ;public int getNum1() return num1;public void setNum1(int num1) this.num1 = num1;public int getNume2() return num2;public void setNume2(int nume2) this.num2 = num2;public char getOpt() return opt;public void setOpt(char opt) this.opt = opt;Operation(int num1,char opt,int num2)this.num1 = num1;this.num2 = num2;this.opt = opt;public void Cal()switch(opt)case +:System.out.println(num1+num2=+(num1+num2);break;case -:System.out.println(num1-num2=+(num1-num2);break;case *:System.out.println(num1*num2=+(num1*num2);break;case /:if(num2=0)break;elseSystem.out.println(num1/num2=+(num1/num2);break;default:System.out.println(输入有误!);break;public class Calculate public static void main(String args) / TODO Auto-generated method stubScanner scan = new Scanner(System.in);int num1;int num2;char operator;System.out.println(请输入第一个数:);num1 = scan.nextInt();System.out.println(请输入您的运算符:);operator = scan.next().charAt(0);System.out.println(请输入第二个数:);num2 = scan.nextInt();Operation op = new Operation(num1,operator,num2);op.Cal();静态工厂(以加法为例):/*Test.java*/package cal;import java.util.Scanner;public class Test public static void main(String args) throws Exception Scanner input=new Scanner(System.in);System.out.print(请输入第一个数据:);int numA=input.nextInt();System.out.print(请输入操作符:(+、-、*、/ );String type=input.next();System.out.print(请输入第二个数据:);int numB=input.nextInt();Factory factory=FactoryOperation.createFactory(type);Operation operation=factory.createOperation(); operation.setNumA(numA); operation.setNumB(numB); System.out.println(计算结果为:+operation.getResult();/* Operation.java */package cal;public abstract class Operation protected int numA,numB; public int getNumA() return numA;public void setNumA(int numA) this.numA = numA;public int getNumB() return numB;public void setNumB(int numB) this.numB = numB;public abstract double getResult();/* Factory .java*/package cal;public abstract class Factory public abstract Operation createOperation();/* FactoryOperation .java*/package cal;import java.io.File;import java.io.FileInputStream;import java.util.Properties;public class FactoryOperation public static Factory createFactory(String type) throws ExceptionProperties properties=new Properties();File file=new File(config.xml);properties.loadFromXML(new FileInputStream(file);String className= properties.getProperty(type);Class c=Class.forName(className);Factory factory=(Factory) (c.getClassLoader().loadClass(className).newInstance(); return factory;/*config.xml*/ calc.demo2.FactoryAdd /*OperationAdd .java*/package cal;public class OperationAdd extends OperationOverridepublic double getResult() return numA+numB;8、定义一个Icar和Icarcolor的接口,在接口Icar中定义一个Run方法和一个Stop方法,在接口Icarcolor中定义一个Color的属性,再定义一个Car类实现接口中的方法和属性。interface Icarpublic void run();public void stop();interface IcarColor final String color = purple;class Car implements Icar, IcarColorpublic void run()System.out.println(color+ Car running.);public void stop()System.out.println(color+ Car stop.);public class CarInterface public static void main(String args) / TODO Auto-generated method stubCar myCar = new Car();myCar.run();myCar.stop();实验项目名称: 图形用户界面 实验学时: 6 同组学生姓名: 无 实验地点: A101 实验日期: 5月13日-5月27日 实验成绩: 批改教师: 马青霞 批改时间: 实验3 图形用户界面一、 实验目的、要求1、 掌握Swing组件的使用方法;2、 熟练掌握Swing中常用布局管理器的使用方法;3、 掌握用户界面动作与事件的处理程序的编写方法;4、 熟练掌握构造用户界面的方法和常见界面元素的使用;5、熟练掌握Java绘图的主要方法。二、实验要求1、编写程序要规范、正确,上机调试过程和结果要有记录;2、做完实验后给出本实验的实验报告。三、实验设备、环境安装有JDK、Eclipse软件的计算机。四、实验内容1、设计一个Windows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生、中学生、大学生派生类,当输入相关数据,单击不同的按钮时,将分别创建不同的学生类对象,并输出当前学生的总人数,该学生的姓名,学生类型,平均成绩。程序要求:(1)每个学生都有的字段为姓名、年龄。(2)小学生的字段还有语文,数学,用来表示这两科的成绩。(3)中学生在此基础上增加英语成绩。(4)大学生分为必修课和选修课两项成绩。(5)学生类提供方法来统计自己的总成绩并输出。(6)通过静态成员自动记录学生总人数。(7)成员初始化通过构造函数完成。/*学生类*/package htp.gui;public abstract class Student private String name;private int age;double average;static int num;public Student(String name,int age) = name;this.age = age;public abstract double getAverage();class StuPri extends Studentprivate double chinese;private double math;public StuPri(String name, int age, double chinese, double math) super(name, age);this.chinese = chinese;this.math = math;Overridepublic double getAverage()average = (chinese + math)/2;return average;class StuSec extends Studentprivate double chinese;private double math;private double english;public StuSec(String name, int age, double chinese, double math, double english) super(name, age);this.chinese = chinese;this.math = math;this.english = english;Overridepublic double getAverage() average = (chinese + math + english)/3;return average;class StuColl extends Studentprivate double optional;private double comp;public StuColl(String name, int age, double optional, double comp) super(name, age);this.optional = optional;p = comp;Overridepublic double getAverage()average = (optional + comp)/2;return average;/*界面*/package htp.gui;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class StudentGui extends JFrame implements ActionListenerJPanel jp1,jp2;JPanel jp1_1,jp1_2,jp1_3;JButton jb_pri,jb_sec,jb_col;JLabel jl_name,jl_age,jl_ch_op,jl_math_com,jl_en;JTextField jtf_name,jtf_age;JTextField jtfCh_Opt,jtfMath_Com,jtfEn;JTextArea jta;public static void main(String args) StudentGui stu = new StudentGui();public StudentGui()jp1 = new JPanel();jp2 = new JPanel();jp1_1 = new JPanel();jp1_2 = new JPanel();jp1_3 = new JPanel();jl_name = new JLabel(姓名);jl_age = new JLabel(年龄);jl_ch_op = new JLabel(语文/选修);jl_math_com = new JLabel(数学/必修);jl_en = new JLabel(英语);jtf_name = new JTextField(10);jtf_age = new JTextField(10);jtfCh_Opt = new JTextField(10);jtfMath_Com = new JTextField(10);jtfEn = new JTextField(10);jta = new JTextArea(30,20);jb_pri = new JButton(小学生);jb_pri.addActionListener(this);jb_sec = new JButton(中学生);jb_sec.addActionListener(this);jb_col = new JButton(大学生);jb_col.addActionListener(this);jp1.setLayout(new GridLayout(3,1);jp1_1.add(jl_name);jp1_1.add(jtf_name);jp1_1.add(jl_ch_op);jp1_1.add(jtfCh_Opt);jp1_1.add(jb_pri);jp1_2.add(jl_age);jp1_2.add(jtf_age);jp1_2.add(jl_math_com);jp1_2.add(jtfMath_Com);jp1_2.add(jb_sec);jp1_3.setLayout(new FlowLayout(FlowLayout.RIGHT);jp1_3.add(jl_en,Right);jp1_3.add(jtfEn,East);jp1_3.add(jb_col,East);jp1.add(jp1_1,North);jp1.add(jp1_2,Center);jp1.add(jp1_3,South);jp2.add(jta);this.add(jp1,North);this.add(jp2);this.setVisible(true);this.setTitle(学生信息);this.setSize(430,500);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Overridepublic void actionPerformed(ActionEvent e) String name;int age;double chi_opt,math_comp,en;double average = 0;name = jtf_name.getText();age = Integer.parseInt(jtf_age.getText();chi_opt = Double.parseDouble(jtfCh_Opt.getText();math_comp = Double.parseDouble(jtfMath_Com.getText();if(e.getSource()=jb_p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 红塔银行面试题目及答案
- 2025年陪诊师考试服务态度试题及答案
- 2025年东莞市人工智能训练师初赛竞赛练习题及答案
- (试题)社会救助公共基础知识题库及答案
- 施工现场应急预案方案
- 2025年新媒体运营师中级考试预测题及实战技巧解析
- 2025年护士招聘面试预测题及应对技巧
- 北京市门头沟区2023-2024学年九年级下学期初中学业水平考试(一模)化学试题及答案
- 桃花姬阿胶糕课件
- 桃江眼科知识培训班课件
- 财管10-16年历年真题
- 惠州卫生职业技术学院辅导员考试真题2022
- 2022年咖啡师资格证考试参考题库及答案
- GB/T 28288-2012足部防护足趾保护包头和防刺穿垫
- GB/T 1508-2002锰矿石全铁含量的测定重铬酸钾滴定法和邻菲啰啉分光光度法
- 行为金融学案例
- 万科集团财务管理制度手册207
- “李可中医药学术流派论治厥阴病”-课件
- 通用技术作品设计报告
- 锚杆支护技术规范正式版本
- 下一代互联网技术
评论
0/150
提交评论