Java上机实验报告(完整高分打印版)

合集下载

Java上机实验报告(1)

Java上机实验报告(1)

Java上机实验报告(1)任务简要描述⼀、任务简要描述⼀、1、实现Java版本的快速排序。

2、编写⼀个学⽣和教师数据输⼊和显⽰程序,学⽣数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。

要求将编号、姓名输⼊和显⽰设计成⼀个类Person,并作为学⽣数据操作类Student 和教师数据操作类Teacher 的基类。

3、请设计 3 个类 , 分别是学⽣类 Student, 本科⽣类Undergaduate, 研究⽣类 Postgraduate, 其中 Student 类是⼀个抽象类 , 它包含⼀些基本的学⽣信息如姓名、所学课程、课程成绩等 , ⽽Undergraduate 类和 Postgraduate 都是 Student 类的⼦类 , 它们之间的主要差别是计算课程成绩等级的⽅法有所不同 , 研究⽣的标准要⽐本科⽣的标准⾼⼀些。

假设某班级⾥既有本科⽣也有研究⽣ , 请编写程序统计出全班学⽣的成绩等级并显⽰出来。

此题关键是设计⼀个学⽣数组 , 既能存放本科⽣对象 , ⼜能存放研究⽣对象。

问题及解决⼆、⼆、问题及解决1、算法思想:基于分治的思想,是冒泡排序的改进型。

⾸先在数组中选择⼀个基准点(该基准点的选取可能影响快速排序的效率,后⾯讲解选取的⽅法),然后分别从数组的两端扫描数组,设两个指⽰标志(lo指向起始位置,hi指向末尾),⾸先从后半部分开始,如果发现有元素⽐该基准点的值⼩,就交换lo和hi位置的值,然后从前半部分开始扫秒,发现有元素⼤于基准点的值,就交换lo和hi位置的值,如此往复循环,直到lo>=hi,然后把基准点的值放到hi这个位置。

⼀次排序就完成了。

以后采⽤递归的⽅式分别对前半部分和后半部分排序,当前半部分和后半部分均有序时该数组就⾃然有序了。

排序过程:输出结果:2、Person类:1public class person {2 String name;3 String number;45 person(){ }6 person(String number, String name){7this.number = number; = name;9 }10public void setNumber(String n){11 number = n;12 }13public String getNumber(){14return number;15 }16public void setName(String c){17 name = c;18 }19public String getName(){20return name;21 }22public void input(){23 Scanner sc = new Scanner(System.in);24 System.out.println("Please input the name:");25 name = sc.nextLine();26 System.out.println("Please input the number:");27 number = sc.nextLine();28 }29public void showInfo(){30 System.out.println("The number is:" + getNumber() + ", name is:" + getName());31 }32 }Teacher类:1class Teacher extends person{2 String title; //职称3 String dept; //部门4 Teacher(){5super();6 }7 Teacher(String number, String name, String title, String dept){8super(number, name);9this.title = title;10this.dept = dept;11 }12public void setTitle(String t){13 title = t;14 }15public String getTitle(){16return title;17 }18public void setDept(String d){19 dept = d;20 }21public String getDept() {22return dept;23 }24//⼦类重载⽗类⽅法25public void input(){26super.input();27 System.out.println("Please input the title:");28 Scanner sc = new Scanner(System.in);29 setTitle(sc.nextLine());30//title = sc.nextLine();31 System.out.println("Please input the dept:");32 dept = sc.nextLine();33 }34public void showInfo(){35super.showInfo();36 System.out.println("The teacher's title is:" + getTitle() + ", department is:" + getDept());37 }38 }Student类:1class Student extends person{2 String classnumber; //班号3int grade; //成绩4 Student(){5super();6 }7 Student(String number, String name, String classnumber, int grade){8super(number, name);9this.classnumber = classnumber;10this.grade = grade;11 }12public void setClassnumber(String c){13 classnumber = c;14 }15public String getClassnumber(){16return classnumber;17 }18public void setGrade(int g){19 grade = g;20 }21public int getGrade() {22return grade;23 }24//⼦类重载⽗类⽅法25public void input(){26super.input();27 System.out.println("Please input the classnumber:");28 Scanner sc = new Scanner(System.in);29 setClassnumber(sc.nextLine());30//classnumber = sc.nextLine();31 System.out.println("Please input the grade:");32 grade = sc.nextInt();33 }34public void showInfo(){35super.showInfo();36 System.out.println("The student's classnumber is:" + getClassnumber() + ", grade is:" + getGrade());37 }38 }输出结果:3、对象数组:1 Student[] students = new Student[5];Student类:1public abstract class Student2 {3 String name;4 String type;5int courseScore;6 String courseGrade;78public Student(String name)9 { = name;11 courseGrade="";12 }14public abstract void calculateGrade();1516public String getName()17 {18return name;19 }2021public String getType()22 {23return type;24 }2526public String getCourseGrade()27 {28return courseGrade;29 }3031public int getCourseScore()32 {33return courseScore;34 }3536public void setName(String name)37 { = name;39 }4041public void setType(String type)42 {43this.type = type;44 }4546public void setCourseScore(int courseScore)47 {48this.courseScore = courseScore;49 }5051 }本科⽣类:1class Undergraduate extends Student2 {3public Undergraduate(String name, int courseScore)4 {5super(name);6 type = "本科⽣";7this.courseScore = courseScore;8 }910public void calculateGrade()11 {12if (courseScore >= 80 && courseScore < 100) courseGrade = "优秀"; 13else if (courseScore >= 70 && courseScore < 80) courseGrade = "良好"; 14else if (courseScore >= 60 && courseScore < 70) courseGrade = "⼀般"; 15else if (courseScore >= 50 && courseScore < 60) courseGrade = "及格"; 16else courseGrade = "不及格";1718 }19 }研究⽣类:1class Postgraduate extends Student2 {3public Postgraduate(String name, int courseScore)4 {5super(name);6 type = "研究⽣" ;7this.courseScore = courseScore;8 }9public void calculateGrade()10 {11if (courseScore >= 90 && courseScore < 100) courseGrade = "优秀"; 12else if (courseScore >= 80 && courseScore < 90) courseGrade = "良好"; 13else if (courseScore >= 70 && courseScore < 80) courseGrade = "⼀般"; 14else if (courseScore >= 60 && courseScore < 70) courseGrade = "及格"; 15else courseGrade = "不及格";17 }18 }19成绩计算类:1public class Polymorphism2 {3int total = 0;4double average;56public void showInfo(){7 Student[] students = new Student[5];89 students[0] = new Undergraduate("ABC", 95);10 students[1] = new Undergraduate("DEF", 85);11 students[2] = new Postgraduate("GHI", 75);12 students[3] = new Undergraduate("JKL", 65);13 students[4] = new Postgraduate("MNO", 55);14for (int i=0; i<5; i++)15 {16 total += students[i].courseScore;17 students[i].calculateGrade();18 }19 average = total / 5;20 System.out.println("姓名" + " 类型" +" 成绩");21 System.out.println("-----------------------");2223for (int i=0; i<5; i++)24 {25 System.out.println(students[i].getName( )+" "+students[i].getType( )+" "+students[i].getCourseGrade( ));26 }2728//Student st = new Student("李明");29 System.out.println("平均成绩:" + average);30 System.out.println();31for(int i=0; i<5; i++)32 {33if(students[i] instanceof Undergraduate )34 {35 System.out.println(students[i].getName()+"是本科⽣");36 }37else38 {39 System.out.println(students[i].getName()+"是研究⽣");40 }41 }42 }43public static void main(String[] args)44 {45 Polymorphism show = new Polymorphism();46 show.showInfo();4748 }49 }输出结果:总结: 练习使⽤了创建对象数组的⽅法,使⽤⾯向对象的思想,⼦类继承⽗类的属性和⽅法,并对⽗类的⽅法进⾏重写,在题⽬三中,我本来将计算成绩的内容全部写在main⽅法⾥,经过⽼师讲解,我重新修改了程序,将创建对象数组和成绩计算的相关程序单独写在⼀个类⾥⾯。

java上机实验报告(二)

java上机实验报告(二)

JA V A程序设计实验报告(二)院系:专业:班级:姓名:指导老师:试验时间:1.了解java的数据类型。

2.理解运算符的优先级。

3.理解java的程序语法结构,掌握程序结构。

4.通过编程,熟悉java语言编程规则。

二,实验要求熟悉java编程的基本要求,正确的编程,正确的输出运行程序,处理运算时出现的错误,基本达到熟练使用java编写程序。

三,实验设备与环境装有java的语言工具软件(myeclipse)的计算机四,实验内容题目:编写程序找出所有三位的降序数。

(个位数小于十位数且十位数小于百位数即升序数,如210。

)代码分析:public class test6{public static void main(String args[]){int x,a,b,c;for(x=100;x<1000;x++){a=x/100;b=(x-a*100)/10;c=x%10;if(a>b&&b>c){System.out.println("结果:"+x);}}}}六,心得体会通过对这两次的上机操作实验,使我对java语言编程有了更多的认识和感触。

我觉得java语言编程并不是想象中的那么困难,如果对其进行深入了解的话还是一门十分有趣的学科。

在编写程序中,一次次的对错误的更改也是一种全新的学习,而当算出了正确的结果后那心中又会产生一个小小的成就感。

我会尽力去学好这一门学科的!。

java上机实验报告

java上机实验报告

java上机实验报告Java上机实验报告引言:Java作为一种广泛应用于软件开发领域的编程语言,具有跨平台、面向对象等优点,因此在计算机科学教育中被广泛使用。

本文将介绍我在Java上机实验中所掌握的内容和经验。

一、实验目的本次实验的主要目的是通过实际操作,掌握Java编程语言的基本语法和常用类库的使用方法,加深对面向对象编程的理解,并培养解决问题的能力。

二、实验过程1. 实验环境准备在开始实验前,我首先安装了Java开发环境(JDK)并配置好相关的环境变量。

这样我就可以在本地计算机上进行Java编程了。

2. 实验内容本次实验主要涉及以下几个方面的内容:a. 基本语法:学习了Java的基本数据类型、运算符、流程控制语句等。

通过编写简单的程序,我能够熟练地使用这些语法来解决实际问题。

b. 面向对象编程:学习了类、对象、继承、封装、多态等面向对象的概念和技术。

通过定义类和对象,我可以更好地组织和管理代码。

c. 异常处理:学习了如何使用try-catch语句来捕获和处理异常。

这对于编写健壮的程序非常重要,可以有效地避免程序崩溃或出现不可预料的错误。

d. 输入输出:学习了如何使用Java的输入输出类库来实现数据的读取和写入。

这对于与用户进行交互或者读取外部文件非常有用。

3. 实验结果通过本次实验,我成功完成了多个编程任务,并获得了满意的结果。

例如,我实现了一个简单的学生管理系统,可以添加、查询和删除学生信息。

这个程序不仅让我熟悉了Java的面向对象编程思想,还提升了我的编程能力。

三、实验心得通过这次实验,我深刻体会到了实践的重要性。

仅仅理论上了解一门编程语言是远远不够的,只有通过实际编写程序,才能真正掌握它。

在实验过程中,我遇到了很多问题,比如语法错误、逻辑错误等,但通过不断的调试和修改,我最终解决了这些问题。

这个过程让我学会了如何分析问题、查找错误并解决它们。

此外,我还意识到编程是一项需要耐心和细心的工作。

Java上机实验报告

Java上机实验报告

Homework3实验报告一、实验目的与要求1、掌握Java中类和接口的基本知识;2、继承的基本知识;3、集合的基本操作二、实验内容1.PIMCollection 类创建一个可以管理PIMEntities实体的集合,该类实现了Collection接口,且必须实现了以下方法:(1).getNotes();返回PIMCollection中所有的PIMNote项,如果不包含PIMNote项,则返回一个空集合(2).getTodos();返回集合PIMCollection中所有的PIMTodo项,如果不包含PIMTodo项,则返回一个空集合(3).getAppointment();返回集合PIMCollection中所有的PIMAppointment项,如果不包含PIMAppointment项。

则返回一个空集合(4).getContacts();返回结合PIMCollection中所有的PIMContact项,如果不包含PIMContact项,则返回一个空集合(5).getItemsForDate(Date d);返回集合PIMCollection中所有与d匹配的PIMEntities,如果没有匹配d的项,则返回一个空集合(只有PIMTodo和PIMAppointment项,因为PIMNote和PIMContact跟日期没有关系)。

2.TestPIMCollection类(自己的测试类)向PIMCollection集合类中加入了一些PIMEntity实体类,并用PIMCollection 类中实现的方法分别筛选出了其中的PIMNote、PIMTodo、PIMAppointment、PIMContact、符合指定日期d的集合并打印输出。

三、实验器材计算机+windows操作系统+eclipse四、实验步骤1.程序源代码(压缩在文件夹里)2.编译执行程序3.记录执行结果五、实验结果1.TestPIMCollection的测试代码:2.程序的执行结果:如图所示:程序分别输出了Todo、Note、Appointment、Contact、以及匹配指定日期的结合的结果。

大一学生java上机实验报告

大一学生java上机实验报告

大一学生java上机实验报告非常好,下面是一个简单的Java上机实验报告示例,该实验要求创建一个名为Hello World的程序,该程序将在控制台输出 "Hello, World!" 消息。

1. 安装Java环境在开始上机实验之前,您需要确保已经安装了Java开发环境。

Java具有多种版本,其中最常见的是Java 8。

您可以从Oracle官方网站下载Java 8安装程序并按照提示安装。

2. 编写Hello World程序以下是一个简单的Java程序,用于在控制台输出 "Hello, World!" 消息:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```3. 运行程序保存代码并使用Java编译器将其编译为字节码文件。

您可以使用以下命令运行程序:```javajavac HelloWorld.javajava HelloWorld```这将在控制台打印 "Hello, World!"消息。

4. 调试程序如果您的程序在运行时出现问题,您可以尝试调试它。

您可以通过在控制台输入命令行参数来运行您的程序,并使用调试器来查找错误。

例如,如果您的程序在打印 "Hello, World!" 消息时出现问题,您可以尝试使用以下命令调试程序:```javajava HelloWorldjava -XX:+PrintFlagsFinal -XX:+UseConcMarkSweepGC HelloWorld```这将启用标记清除GC和ConcMarkSweepGC选项,以查找和清除内存错误。

这是一个简单的Java上机实验,它要求您编写和运行一个名为Hello World的程序,并在控制台输出 "Hello, World!" 消息。

Java上机实验报告(3)

Java上机实验报告(3)

Java上机实验报告(3)任务简要描述⼀、⼀、任务简要描述1、集合类的使⽤举例Collection接⼝ Collection是最基本的集合接⼝,⼀个Collection代表⼀组Object,即Collection的元素(Elements)。

⼀些 Collection允许相同的元素⽽另⼀些不⾏。

⼀些能排序⽽另⼀些不⾏。

Java SDK不提供直接继承⾃Collection的类,Java SDK提供的类都是继承⾃Collection的“⼦接⼝”如List和Set。

所有实现Collection接⼝的类都必须提供两个标准的构造函数:⽆参数的构造函数⽤于创建⼀个空的Collection,有⼀个 Collection参数的构造函数⽤于创建⼀个新的Collection,这个新的Collection与传⼊的Collection有相同的元素。

后⼀个构造函数允许⽤户复制⼀个Collection。

如何遍历Collection中的每⼀个元素?不论Collection的实际类型如何,它都⽀持⼀个iterator()的⽅法,该⽅法返回⼀个迭代⼦,使⽤该迭代⼦即可逐⼀访问Collection中每⼀个元素。

典型的⽤法如下:1 Iterator it = collection.iterator(); // 获得⼀个迭代⼦2 while(it.hasNext()) {3 Object obj = it.next(); // 得到下⼀个元素 由Collection接⼝派⽣的两个接⼝是List和Set。

List接⼝ List是有序的Collection,使⽤此接⼝能够精确的控制每个元素插⼊的位置。

⽤户能够使⽤索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。

和下⾯要提到的Set不同,List允许有相同的元素。

除了具有Collection接⼝必备的iterator()⽅法外,List还提供⼀个listIterator()⽅法,返回⼀个 ListIterator接⼝,和标准的Iterator接⼝相⽐,ListIterator多了⼀些add()之类的⽅法,允许添加,删除,设定元素,还能向前或向后遍历。

《Java程序设计》上机实验报告 实验五 流、文件及基于文本的应用

《Java程序设计》上机实验报告 实验五   流、文件及基于文本的应用

信息科学与工程学院《Java程序设计》上机实验报告专业班级姓名学号主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)2.编写一个程序,能将一个源程序中的空行及注释去掉,并将处理后的内容写到目标文件中。

(源文件名称和目标文件名称均要求以命令行参数形式输入)import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;public class CopyFile {static String delComm(String s){if(s==null)return s;int pos=s.indexOf("//"); //去掉以//开始的注释if(pos<0)return s;return s.substring(0,pos);}public static void main(String args[]){String infname="CopyFile.java";String outfname="CopyFile.txt";if(args.length>=1)infname=args[0];if(args.length>=2)outfname=args[1];try{File fin=new File(infname);File fout=new File(outfname);BufferedReader in = new BufferedReader(new FileReader(fin));PrintWriter out = new PrintWriter(new FileWriter(fout));int cnt=0;String s = in.readLine(); //写字符串while(s != null){主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)cnt ++;s=delComm(s); //去掉以//开始的注释out.println(cnt+":\t"+s);//写出s=in.readLine(); //读入}in.close(); //关闭缓冲读入流及文件读入流的连接out.close();}catch (FileNotFoundException e1){System.out.println("File not found");}catch(IOException e2){e2.printStackTrace();}}}主要问题的出错现象:1)运行程序后,无对应的输出结果出现2)源程序编写过程中,出现方法和类的调用无法完成.出错原因:1)函数调用时候,相关函数输入变量错误2)方法名的书写不符合规范,使得方法变为变量.解决方法及效果:1) 编写和调用类的方法时,注意参数的类型和数量的对应.2)规范命名.常量用大写字母,变量用小写字母开始,类以大写字母开始.实验小结:1) 为每个类分配正确的职责.尽量保持类功能单一. 不要在一个类中做太多事.2) BufferedReader的方法:readLine():String ,当他的返回值是null时,就表示读取完毕了。

Java语言上机实验报告(1-17)

Java语言上机实验报告(1-17)

JA V A实验报告班级:计科1301姓名:雷云洁学号:0902130112实验日期:2014.11.20实验报告(1)实验内容:内容1:基本输出,以及同一个文件建立两个类public class My{public static void main(String[] args){System.out.println();}}class you{static String info="同学们好";}实验结果展示:内容2:基本框架的输出public class SimpleMenu{public static void main(String[] args){System.out.println("***************");System.out.println("* 1.求圆面积 *");System.out.println("* 2.求圆周长 *");System.out.println("* 0.退出 *");System.out.println("***************");}}实验结果展示:内容3:输出三角形(利用Applet类)import java.applet.Applet;import java.awt.Color;import java.awt.Graphics;public class Triangle extends Applet {public void paint(Graphics g){// TODO Auto-generated method stub super.paint(g);g.setColor(Color.red);g.drawLine(80, 20, 20,100);g.drawLine(20, 100, 140,100);g.drawLine(140, 100, 80, 20);g.setColor(Color.blue);g.drawString("三角形", 65, 80);}}实验结果展示:实验心得:通过这次上机我了解了Java的基本编程语句以及如何利用Applet类来编辑界面窗口等等,总之,我觉得学习Java主要考自己多钻研多调试才能出成果。

JAVA上机实验报告

JAVA上机实验报告

JAVA上机实验报告实验名称:Java编程实验实验目的:1. 掌握Java编程语言的基本语法和常用类库的使用;2. 熟悉Java程序的运行过程和调试方法;3.提高解决实际问题的能力。

实验环境与工具:1. JDK(Java Development Kit);2. IDE(集成开发环境),如Eclipse、IntelliJ IDEA等。

实验内容:1. 编写一个Java程序,实现一个简单的计算器;2.要求程序能够根据用户输入的两个操作数和运算符,进行相应的运算,并返回结果;3.为了增加程序的健壮性,需要对用户的输入进行合法性检查,例如运算符必须是"+","-","*","/"之一,操作数必须是合法的数字;4.对于输入不合法的情况,程序应给出相应的提示。

实验步骤:1. 首先创建一个Java项目,在项目中创建一个名为Calculator的类;2. 在Calculator类中添加一个名为main的静态方法作为程序的入口;3. 在main方法中使用Scanner类从控制台获取用户输入的操作数和运算符;4.对用户输入进行合法性检查,如果不合法则给出提示并结束程序;5.根据运算符进行相应的运算,并返回结果;6.将结果打印到控制台。

实验源码如下:```javaimport java.util.Scanner;public class Calculatorpublic static void main(String[] args)Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个操作数:");double operand1 = scanner.nextDouble(;System.out.print("请输入第二个操作数:");double operand2 = scanner.nextDouble(;System.out.print("请输入运算符:");String operator = scanner.next(;double result;if (operator.equals("+"))result = operand1 + operand2;} else if (operator.equals("-"))result = operand1 - operand2;} else if (operator.equals("*"))result = operand1 * operand2;} else if (operator.equals("/"))result = operand1 / operand2;} elseSystem.out.println("请输入合法的运算符!");return;}System.out.println("计算结果为:" + result);}```实验总结:通过本次实验,我学会了如何编写一个简单的Java程序,了解了Java语言的基本语法和常用类库的使用。

上机实验报告

上机实验报告

上机实验报告实验名称:实现基于Java的学生成绩管理系统实验目的:通过实现学生成绩管理系统,掌握Java编程语言的基本语法和常用类的使用,理解面向对象编程的基本原理。

实验设备:计算机一台,Java开发环境(例如Eclipse、Intellij IDEA等)实验步骤:1. 创建一个Java Project,并创建一个新的类Student。

2. 在Student类中定义学生的属性,包括学号、姓名、性别和成绩。

3. 在Student类中定义构造方法和成员方法。

- 构造方法:用于创建学生对象并初始化学生的属性。

- 成员方法:用于获取和设置学生的属性。

4. 创建一个新的类StudentManagementSystem,并在该类的main方法中编写学生成绩管理的逻辑。

5. 在StudentManagementSystem类中创建一个学生列表,并实现以下功能:- 添加学生:从键盘输入学生的信息,创建学生对象,并将学生对象加入学生列表。

- 删除学生:从键盘输入学生的学号,查找学生对象,并将该学生对象从学生列表中删除。

- 查询学生:从键盘输入学生的学号,查找学生对象,并输出学生的信息。

- 查询所有学生:遍历学生列表,输出所有学生的信息。

- 修改学生成绩:从键盘输入学生的学号和新的成绩,查找学生对象,并修改学生的成绩。

6. 在main方法中测试学生成绩管理系统的功能。

实验结果:成功实现了基于Java的学生成绩管理系统,可以通过控制台输入指令来添加学生、删除学生、查询学生、查询所有学生和修改学生成绩。

实验总结:通过本次实验,我深入理解了Java编程语言的基本语法和面向对象编程的基本原理。

通过实践,我进一步掌握了类的定义和使用、对象的创建和属性的操作、方法的定义和调用等基本概念和技巧。

在实验过程中,我遇到了一些问题,如如何正确处理输入输出、如何遍历列表等,但通过查阅资料和思考,我成功解决了这些问题。

这次实验让我对Java编程有了更深入的理解,并提高了我的编程技能。

《java程序设计上机实验报告》

《java程序设计上机实验报告》

《面向对象原理与语言》实验内容包括8个必做实验,在规定的16学时内完成。

实验一面向对象程程序设计(一)(必做实验,验证性实验,2学时)1.实验目的掌握Java语言的类和对象的定义及使用的基本方法;掌握继承机制以及子类和父类之间的转换;掌握多态性的概念及程序设计。

2.实验内容上机实现下列程序(1)P69, J_Finaliz.java; P72, J_teacher.java;P76, J_Student.java;P79,J_Employee.java, J_teacher.java。

(2)习题3.7, 习题3.9。

3.实验要求(1)熟悉从已知父类派生出子类的方法.(2)熟悉多态性的本质及其应用意义。

实验二面向对象程序设计(二)(必做实验,验证性实验,2学时)1.实验目的理解Java语言的封装性;掌握成员访问修饰符的使用和包的定义及使用;掌握静态成员的使用;掌握接口的定义和使用方法。

2.实验内容上机实现下列程序:(1)P83, J_Employee.java等三个程序;P87, J_employee.java, J_Month.java;P91, J_Book.java;P102, J_InnerClass.java, P104, J_InnerInterface.java。

(2)习题3.12,习题3.13。

3. 实验要求(1)熟悉四种访问修饰符类型的成员的访问方法。

(2)熟悉静态成员与非静态成员的区别。

(3)掌握匿名内部类的使用。

实验三数组、字符串、向量与哈希表的使用(必做实验,验证性实验,2学时)1. 实验目的掌握数组、字符串、向量和哈希表的使用。

2.实验内容上机实现下列程序:(1)P129, J_Grid15.java; P150,J_stringBuffer.java,P136, J_Intern.java;P158, J_HashTable.java;(2)P161,习题4.4,习题4.5,习题4.10。

软件学院上机实验报告(3篇)

软件学院上机实验报告(3篇)

实验名称:Java面向对象编程实验实验日期:2023年3月15日实验地点:软件学院实验室一、实验目的1. 理解Java面向对象编程的基本概念,包括类、对象、继承、多态等。

2. 掌握Java面向对象编程的基本语法和操作。

3. 能够运用面向对象编程思想设计简单的Java程序。

二、实验内容1. 创建一个名为“Student”的类,包含以下属性:姓名(name)、年龄(age)、性别(gender)。

2. 在“Student”类中定义一个构造方法,用于初始化对象的属性。

3. 定义一个名为“printInfo”的方法,用于打印学生的信息。

4. 创建两个“Student”对象,并分别设置其属性。

5. 调用“printInfo”方法,打印两个学生的信息。

三、实验步骤1. 打开IDEA软件,创建一个名为“Experiment1”的新项目。

2. 在项目中创建一个名为“Student”的Java类。

3. 在“Student”类中定义属性:name、age、gender。

4. 定义构造方法,初始化属性。

5. 定义“printInfo”方法,打印学生信息。

6. 在主类中创建“Student”对象,设置属性。

7. 调用“printInfo”方法,打印学生信息。

四、实验代码public class Student {private String name;private int age;private String gender;public Student(String name, int age, String gender) { = name;this.age = age;this.gender = gender;}public void printInfo() {System.out.println("姓名:" + name + ",年龄:" + age + ",性别:" + gender);}public static void main(String[] args) {Student student1 = new Student("张三", 20, "男");Student student2 = new Student("李四", 21, "女");student1.printInfo();student2.printInfo();}}```五、实验结果与分析1. 编译并运行程序,控制台输出如下信息:```姓名:张三,年龄:20,性别:男姓名:李四,年龄:21,性别:女```2. 通过本次实验,掌握了Java面向对象编程的基本概念和操作,能够运用面向对象编程思想设计简单的Java程序。

JAVA上机实验报告

JAVA上机实验报告

JAVA上机实验报告实验报告:JAVA上机实验一、实验目的本实验旨在通过使用JAVA编程语言完成一项具体的任务,掌握JAVA 的基本语法和编程思想,并能够运用所学知识解决实际问题。

二、实验背景JAVA作为一种面向对象的编程语言,被广泛应用于软件开发领域。

本实验要求使用JAVA编写一个简单的应用程序,能够实现输入两个整数并进行相加、相减、相乘、相除等基本运算。

三、实验内容和步骤1.实验环境本实验使用Java JDK作为编程环境,并需要在计算机上安装Java开发工具,如Eclipse或IntelliJ IDEA。

2.实验步骤(1)创建一个新的JAVA项目,在项目中创建一个新的类文件。

(2)在类中定义两个变量,用于存储输入的两个整数。

(3) 使用Scanner类获取用户输入的两个整数,并分别将其赋值给定义的变量。

(4)实现加法、减法、乘法、除法等基本运算函数,通过定义方法来实现不同的操作。

(5) 在main方法中调用相应的运算函数,并输出运算结果。

四、实验结果和分析本实验中,通过输入两个整数,使用JAVA编程语言实现了加法、减法、乘法、除法等基本运算功能。

在实验中,我们可以用不同的输入数据进行测试,验证程序的正确性。

实验结果如下:请输入第一个整数:5请输入第二个整数:3两个整数的和为:8两个整数的差为:2两个整数的积为:15两个整数的商为:1通过测试,可以发现程序正确地实现了加法、减法、乘法、除法等基本运算。

这说明我们的代码编写正确,程序逻辑也是正确的。

五、实验总结通过本次实验,我学会了使用JAVA编程语言进行简单的计算,并且能够将复杂的问题通过定义方法和使用变量来进行解决。

在实验中,我熟悉了JAVA的基本语法和编程规范,提高了我的编程能力和实际问题解决能力。

总的来说,本次实验对我来说是一次很好的练习和提高,对于以后的学习和工作将有很大的帮助。

通过这次实验,我对JAVA编程语言有了更深入的了解,解决问题的思路也更加清晰。

Java上机实验报告1

Java上机实验报告1
Scanners=newScanner(System.in);
inta=s.nextInt();
intb=s.nextInt();
intc=s.nextInt();
intt;
t=a;
if(b<=t)
t=b;
if(c<=t)
t=c;
System.out.println("三者最小的数是:"+t);
}
}
++j;
}
if(j%5==0)
System.out.print("\n");
}
System.out.println();
System.out.println("while循环:");
i=10;
j=0;
while(i>=10&&i<=50)
{
if(i%3==0)
{
System.out.printf("%d ",i);
本次上机实验也遇到了一些困难,比如说,第五题打印图案,开头要有空格,“*”从大到小减少。还有第三题,输出三的倍数,并且要求每行5个数字。本题中一开始,我的输出每行数字数量不够,后来将控制换行的变量自加放入找出三的倍数的循环当中,才满足要求。
五、指导教师评语
成 绩
批阅人
日 期
a=s.nextInt();
}
switch(a)
{
case1:System.out.println("Mon");break;
case2:System.out.println("Tues");break;
case3:System.out.println("Wed");break;

JAVA上机实验报告

JAVA上机实验报告

JAVA上机实验报告学号:姓名:班级:1.实验题目:编写一个名为Octagon的类,它扩展GeometricObject并实现Comaparable和Cloneable接口。

假设八边形八条边的变长都相等。

它的面积可以使用下面的公式计算:面积=(2+4)*边长*边长画出包括Octagon,GeometricObject,Comaparable,Cloneable的UML图。

编写一个测试程序,创建一个边长值为5的Octagon对象,然后显示它的面积和周长。

使用clone方法创建一个新对象,并使用compareTo方法比较这两个对象。

2.实验目的:通过编写这个程序,让学生逐步了解本章所学习的抽象类和接口的知识重点,会运用本章知识编写程序解决实际问题。

3.实验内容:package CalculateOctagon;import java.util.Scanner;public class CalculateOctagon{public static void main(String[]args){public abstract class GeometricObject{private String color="white";private boolean filled;private java.util.Date dateCreated;protected GeometricObject(){dateCreated=new java.util.Date();}protected GeometricObject(String color,boolean filled){dateCreated=new java.util.Date();this.color=color;this.filled=filled;}public String getcolor(){return color;}public void setcolor(String color){this.color=color;}public boolean isFilled(){return filled;}public void setFilled(boolean filled){this.filled=filled;}public java.util.Date getDateCreated(){return dateCreated;}public String toString(){return"created on"+dateCreated+"\ncolor:"+color+"and filled:"+filled;}public abstract double getArea();public abstract double getPerimeter();}public class Octagon extends GeometricObject implements Comparable{public Object clone()throws CloneNotSupportedException{return super.clone();}public int compareto(Object o){if(Area>((Octagon)o).Area)return1;else if(Area<((Octagon)o).Area)return-1;elsereturn0;}}System.out.print("Please enter a number:");Scanner input=new Scanner(System.in);int length=input.nextInt();int Perimeter=8*length;double Area=(2+4/Math.sqrt(2))*length*length;System.out.println("The area is:"+Area);System.out.println("The Perimeter is:"+Perimeter);}}4.实验总结:通过本次试验我发现本章内容虽然表面上理解了,质实还是不懂,虽说听得还可以,但是编程序还是不行,没思路,知识点掌握不好。

java上机实验报告 实验一

java上机实验报告 实验一

JAVA上机实验报告学院:理学院专业:数学与应用数学班级:121004姓名:***实验一:Java开发环境一实验目的1、掌握Java基本开发环境(JDK)的安装和配置方法。

2、掌握java程序的编辑方法、编译方法和运行方法。

3、通过试验,对Java程序的开发过程有一个总体了解。

二实验环境运行Windows的PC机,能够连接Internet下载JDK三、实验内容与实验步骤1、实验内容:①下载安装JDK,设置环境变量。

②使用编辑程序(如记事本)编辑输入HelloWorld.java源程序。

HelloWorld.java的内容如下:public class HelloWorld{public static void main(String [] args){System.out.println(“你好,恭喜!你成功开发了你的第一个Java程序!”);}}注意:java程序是大小写敏感的。

③编译上述源程序javac HelloWorld.java④执行上述源程序java HelloWorld 你好,恭喜!你成功开发了你的第一个Java程序!2、实验步骤:①下载JDK下载网址:/downloads,下载JavaSE的JDK,目前的版本是JDK6。

②安装JDK双击下载的安装程序,即可启动安装过程。

注意选择并记住安装路径,在后面的环境变量设置中要用到该路径。

安装好后,进入命令行状态,键入命令javac执行应该会有错误信息。

这是因为没有配置好环境变量path。

③配置环境变量鼠标右击“我的电脑”,选择“属性”,选择“高级”选项卡,点击“环境变量”进入环境变量设置对话框。

找到“系统环境变量”中的path,单击“编辑”即可编辑该环境变量的值。

将 JDK安装路径\bin加入到path原有值的后面,注意用“;”与前面的项目分开,且不要改变原有的内容,否则可能影响其他程序的正常运行。

连续单击“确定”完成环境变量的配置。

配置好后,进入命令行状态,键入命令javac执行,此时应该会有如何使用javac命令的提示信息,表明环境变量配置成功。

java上机实验实验报告

java上机实验实验报告

java上机实验实验报告Java上机实验实验报告引言:在学习Java编程语言的过程中,进行上机实验是非常重要的一环。

通过实际操作和编码,我们可以更好地理解和掌握Java的各种语法规则和编程技巧。

本文将对我进行的一次Java上机实验进行详细的实验报告。

实验目的:本次实验的目的是通过编写Java程序,实现一个简单的学生信息管理系统。

该系统可以实现学生信息的录入、查询、修改和删除等功能。

通过这个实验,我希望能够熟悉Java的面向对象编程思想,掌握Java的基本语法和常用类的使用。

实验过程:1. 设计学生类:首先,我设计了一个学生类,包含学生的姓名、学号、年龄和性别等属性,以及相应的get和set方法。

这样可以方便地对学生信息进行操作和管理。

2. 编写学生信息管理系统:接下来,我编写了一个学生信息管理系统的主类。

在该类中,我使用了Java的集合类ArrayList来存储学生对象,并实现了学生信息的录入、查询、修改和删除等功能。

通过使用循环和条件语句,我可以根据用户的选择来执行相应的操作。

3. 运行和测试:编写完毕后,我运行了该程序,并进行了一系列的测试。

我输入了学生信息,然后查询了该学生的信息,并进行了修改和删除操作。

通过测试,我发现程序能够正常运行,并且实现了预期的功能。

实验结果:通过本次实验,我成功地实现了一个简单的学生信息管理系统。

该系统可以方便地录入、查询、修改和删除学生信息,提高了信息管理的效率和准确性。

同时,通过编写这个系统,我对Java的面向对象编程有了更深入的理解,熟悉了Java的基本语法和常用类的使用。

实验总结:通过这次实验,我收获了很多。

首先,我熟悉了Java的面向对象编程思想,掌握了Java的基本语法和常用类的使用。

其次,通过实际操作和编码,我加深了对Java编程的理解和掌握。

最后,通过设计和实现一个学生信息管理系统,我提高了问题解决和编程能力。

不过,在实验过程中也遇到了一些困难和问题。

Java上机实验内容

Java上机实验内容

Java上机实验报告内容:实验一JDK系统环境日期:2.24(第一章)目的:1.熟悉Java应用环境。

熟练掌握JDK环境的基本使用方法,掌握环境变量的设置方法。

2.熟练掌握Java应用程序的编辑、编译和运行过程。

3.理解Java应用程序的基本结构。

内容:第一章实验题实验二运算符及表达式日期:3.3目的:1.掌握Java语言的基本数据类型及其变量的定义方法。

2.掌握各种运算符及表达式的应用。

内容:第二章实验题实验三程序基本结构日期:3.10目的:1.掌握Java语言各语句的语法及应用。

2.熟悉顺序、选择、循环结构程序的编制方法。

3.掌握数组的定义、数组元素的引用及数组的实际应用。

内容:第三、四章实验题实验四类的声明及对象的创建日期:3.17目的:1.掌握类的声明、对象的创建方法。

2.掌握this关键字的用法。

3.注意实例变量与静态变量、实例方法与静态方法的区别。

内容:第五章实验题实验五继承和重载日期:3.24目的:1.理解继承、父类、子类、方法重载、方法重写概念,掌握super的关键字的用法。

2.掌握抽象类和接口的概念及其定义方法。

内容:第六章实验题实验六字符串应用日期:3.31目的:1.掌握字符串的基本操作方法。

2.理解String和StringBuffer类的异同。

内容:第七章实验题实验七包与APPLET日期:4.7目的:1.掌握包的定义、导入方法。

2.掌握applet程序的基本结构和程序中常用的方法。

3.掌握applet程序的运行过程。

内容:第八章实验题实验八布局管理与事件处理日期:4.14目的:1.掌握布局管理器的应用方法。

2.掌握常用UI对象(标签、按钮、文本组件、单选按钮、复选框)的使用方法。

3.掌握事件的处理方法,重点掌握动作事件。

内容:第九章实验9-1实验九UI组件的应用日期:4.21目的:1.掌握UI对象(组合框、滚动条、滚动面板、菜单)的应用方法。

2.掌握键盘、鼠标等事件的处理方法。

java上机实验报告

java上机实验报告

JAVA上机实验报告实验一 JA V A 基本语法一、实验目地了解Java 地数据类型,掌握各种变量地声明方式,理解运算符地优先级,掌握Java 基本数据类型、运算符与表达式,掌握顺序结构、选择结构和循环结构语法地程序设计方法.二、实验要求1、编写一个声明Java 不同数据类型变量地程序.2、编写使用不同选择结构地程序.3、编写使用不同循环结构结构地程序.三、实验内容和步骤1、程序代码:public class SimpleTypes{public static void main(String args[]){byte b=0x55。

short s=0x55ff。

int i=1000000。

long l=0xfffL。

char c='c'。

float f=0.23F。

double d=0.7E-3。

boolean bool=true。

System.out.println("b="+b)。

System.out.println("s="+s)。

System.out.println("i="+i)。

System.out.println("l="+l)。

System.out.println("c="+c)。

System.out.println("f="+f)。

System.out.println("d="+d)。

System.out.println("bool="+bool)。

}}运行结果:2、程序代码:public class TestIf{public static void main(String args[]){boolean leap。

int year=2005。

if((year%4==0&&year%100!=0)||(year%400==0)) //方法1System.out.println(year+" 年是闰年")。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八
第 12 章 基于 Swing 的 GUI 开发 12.2 基于 Swing 的应用程序
12.2.1-12.2.5(一般结构,L&F,顶层容器,布局 管理,事件处理)
一,实验目的 理解和掌握基于 Swing 的应用程序的一般结构,L&F,顶层容 器,布局管理,事件处理等的使用。 二,实验内容 设计一个用户点击按钮,每次用户点击时,标签就会更新。
二, 实验内容:
画出下列图形: MMMMMMMMM
MMMMMMM
MMMMM
MMM
M
三,源程序 public class char Test public static void mian(string[] args) {
for(int i=0;i<=9;i++) for(int j=0;j<i;j++)
12
燕山大学里仁学院 JAVA 上机实验报告
从程序来看,this.x 指的是 x 本身,this.y 指的是 y 本身, 而 x,y 是通过构造方法 Text1()创建出来的,当成员变量 Text1.a 被赋值为 1,2 时,通过 this,那么 a.x=1,a.y=2.
第 2 篇 应用基础篇
实验七
4
燕山大学里仁学院 JAVA 上机实验报告
相应的位数,高位补与符号位相同的数若是 1 就补 1,若是 0, 就补 0。若是>>>,右移时不带符号移动,不管符号位是 1, 还是 0,都补 0。再转成十进制形式输出。
实验三
第 3 章 Java 语言基础
3.3 程序流控制
3.3.1-3.3.5 语句(while, for ,if/else ,
}
1
燕山大学里仁学院 JAVA 上机实验报告
} 输出结果:-80 四, 原理: 根据低级数据和高级数据的相互转换规则,把输入的整形数 1200 转换成二进制数,转换成补码形式取前八位,输出结果。
实验二
第 3 章 Java 语言基础 3.2 表达式与语句 3.2.2 运算符与表达式 4 位运算符
一, 实验目的: 理解和掌握移位运算符操作,使用方法,和格式。 二, 实验内容: 编写程序,定义两个整型变量,采用左移右移运算符 >> ,<<, 和不带符号右移运算符 >>>,对整型变量进行移位运算,输出 结果,观察结果。 三, 源程序:
是"+s9);
3
燕山大学里仁学院 JAVA 上机实验报告
System.out.println("数字二的>>右移三十七位的结果 是"+s10);
} } 输出结果: 数字一是 1357 数字二是-1357 数字一的<<左移五位结果是 43424 数字一的>>右移五位结果是 42 数字一的>>>右移五位结果是 42 数字二的<<左移五位结果是-43424 数字二的>>右移五位结果是-43 数字二的>>>右移五位结果是 134217685 数字一的>>右移三十七位的结果是 42 数字二的>>右移三十七位的结果是-43 四, 实验原理: 将输入的正型变量 1357,-1357 转换成补码形式,1357 的补码, 就是它他的二进制本身,-1357 是二进制数诸位取反加 1,按 照要求进行移位运算(>> <<),若是左(右移),就按要求移
燕山大学里仁学院 JAVA 上机实验报告
double T=2.0*downTime; t=t%T; if (t>dowmTime) t=T-t;//第一个 t 为下落时间 double s=0.5*g*t*t; double CurrentH=h-s; Syestem.out.println(CurrentH) } } 运行结果:输入,t=1,输出 H=5.4 四,原理 该 物 理 远 动 涉 及 往 复 运 动 , 显 然 h=10 , t=1s<T , 故 H=h-s=5.4
double item=1.0/(2*i+1); if(item<0.0001) break; item=item*sign; sum=item; sign=sign*(-1); i++; }
6
燕山大学里仁学院 JAVA 上机实验报告
System.out.println(sum);
}
}
输出结果:0.004975124
2
燕山大学里仁学院 JAVA 上机实验报告
public class Test { public static void main(String[] args) { int s1=1357;int s2=-1357; int s3=s1>>5;int s4=s2>>5; int s5=s1>>>5;int s6=s2>>>5; int s7=s1<<5;int s8=s2<<5; int s9=s1>>37;int s10=s2>>37; System.out.println("数字一是"+s1); System.out.println("数字二是"+s2); System.out.println("数字一的<<左移五位结果是"+s7); System.out.println("数字一的>>右移五位结果是"+s3); System.out.println(" 数 字 一 的 >>> 右 移 五 位 结 果 是
一, 实验目的: 掌握和理解强制类型转换原理格式及使用方法。 二, 实验内容: 编写程序定义整形变量 x,把他强制类型转换成 byte 类型, 观察输出结果。 三, 源程序: public class Test {
public static void main(String[] args) { int x=1200; byte b=(byte)x; System.out.println("转换结果是:"+b);
switch ,循环 )
一,实验目的
理解和掌握使用程序流控制语句,以达到让某些程序能够
有条件或重复执行的目的以及++的运用。
二,实验内容
对无穷数列
1 1

1 3

1 5

1 7

(1)n

1 2n
1
求解:(

1)n

1 2n
1
。ห้องสมุดไป่ตู้
三,源程序
public class qiuhe{
public static void main (String[] args){
13
燕山大学里仁学院 JAVA 上机实验报告
} } class Hello implements Runnable{ int I; public void run(){ while(true){ System.out.prinln(“Hello”+i++); If(i==5) break; } } } 某次运行结果;Hello0
实验五
第 3 章 Java 语言基础 3.3 程序流控制 3.3.1-3.3.5 语 句 ( while , for , if/else , switch ,循环 )以及一元运算符的使用
9
一,实验目的
燕山大学里仁学院 JAVA 上机实验报告
理解和掌握使用程序流控制语句,以达到让某些程序能够有条
件或重复执行的目的以及++的运用
四,原理 图形是第一行输出 9 个 M,然后空一行输出(9-2)个 M,然 后到空 n 行时输出(9-n)个 M,直到只输出一个 M 为止,输 出完毕。
实验六
第 4 章 面向对象特性 4.2 类的定义 4.2.5 this
一,实验目的 明确 this 是 Java 使用的一个特有意义的引用,它指向当前对象
11
燕山大学里仁学院 JAVA 上机实验报告
本身,掌握它的使用。 二,实验内容 创建同名成员变量两个,用上 this,使输出为对象
本身。 三, 源程序 public class Text1{ public int x=2; public int y=2; public Text1(int x,int y){ this.x=x; this.y=y; } Public static void main (String[] args){ Text1 .a=new Text1(1,2); System.out.println(“a.x=”+a.x+ “a.y=”+a.y); } } 输出结果:a.x=1 a.y=2 四, 原理
System.out.print(“ ”); for(int k=0;k<(2*(9-i)+1);k++)
System.out.print(“M”);
10
燕山大学里仁学院 JAVA 上机实验报告
System.out.println(); } } } 输出结果: MMMMMMMMM
MMMMMMM MMMMM MMM M
五, 原理
该 程 序 取 n=100 , 使 用 for 循 环 语 句 实 现
1 1

1 3

1 5

1 7
(1)n

1 2n 1
,而条件语句
if
判断
(1)n

1 2n
1
前面的符号是+还是-,最后计算出结果。
相关文档
最新文档