云大JAVA实验7Lab #7(陆歌浩)
JAVA实验内容

《JA V A编程语言》课程实验(一)要求完成的实验项目实验项目11、实验项目名称:JA VA语言面向对象基础实验2. 实验项目的目的和任务目的:(1)通过编程和上机实验了解JAVA语言基础知识,循环、分支语句的使用、数组的使用。
(2)通过编程和上机实验理解JAVA语言中的面向对象编程思想。
了解类与对象的创建,了解成员变量和成员方法的特性,构造函数的使用,类的继承机制和原理,方法的重载和覆盖多态,接口的实现,充分掌握JAVA面向对象编程方法。
任务:使用JA VA语言编写面向对象程序。
3. 实验内容:(1)编写一个矩阵操作类库,具体实现要求如下:●实现构造函数动态创建不同大小的二维矩阵m*n;●实现函数完成两个矩阵的相加、求差与矩阵各个元素相乘运算;●实现函数可以得到矩阵中指定元素数值。
(2)定义两个接口,其方法分别完成两个数的加法和减法操作,然后创建一个类实现这两个接口方法。
(3)用面向对象方法实现一个异质链表。
所谓异质是指链表中各个表项内容的类型要求不相同。
以大学环境为例,这里包括学生、职员和教授。
希望对这些人的信息进行管理(所有的人员信息记录在一个链表中)。
●学生(student):姓名、年龄、年级和平均成绩。
●职员(employer):姓名、年龄和小时工资。
●教授(professor):姓名、年龄和年工资。
要求实现以下四个操作:●插入。
制链表中增加一个学生、职员或教授的信息。
●删除。
从异质链表中删除一个学生、职员和教授的信息。
●能修改学生、职员或教授的个人信息。
●打印。
显示链表中所有的信息。
4.学时数:4实验项目21、实验项目名称:Java多线程、网络基础编程实验2、实验项目的目的和任务:目的:(1)通过继承线程类ng.Thread创建具有特定功能的线程类,通过实现接口ng.Runnable创建可作为线程运行的类,创建线程类对象,启动线程,并观察运行、停止。
创建实现了Runnable接口的线程类对象以后,启动线程,通过观察运行和停止,掌握线程类ng.Thread常用方法的使用,掌握对线程执行过程中的异常的处理方法。
java基础实验报告

java基础实验报告Java基础实验报告引言:Java作为一种面向对象的编程语言,广泛应用于软件开发领域。
本次实验旨在通过一系列的实验任务,加深对Java基础知识的理解,并掌握Java编程的基本技巧。
实验一:Java环境搭建在本实验中,我们首先需要搭建Java开发环境。
Java开发工具包(JDK)是进行Java编程的基础,我们可以从Oracle官网上下载并安装最新版本的JDK。
安装完成后,我们需要配置环境变量,以便在命令行中能够直接运行Java相关的命令。
实验二:Java语言基础Java语言基础是进行Java编程的基石。
在本实验中,我们需要掌握Java的基本语法规则、数据类型和运算符等。
通过编写简单的程序,如计算两个数的和、判断一个数是否为素数等,加深对Java语言基础的理解。
实验三:面向对象编程面向对象编程是Java的核心特性之一。
在本实验中,我们需要学习Java中的类和对象的概念,并通过编写简单的类和对象来实现一些功能。
例如,创建一个学生类,包含姓名、年龄和成绩等属性,并实现一些与学生相关的操作方法。
实验四:异常处理异常处理是Java编程中重要的一部分。
在本实验中,我们需要学习Java中的异常处理机制,并通过编写代码来处理可能出现的异常情况。
例如,通过try-catch语句来捕获并处理用户输入非法字符的异常。
实验五:文件操作在实际的软件开发中,文件操作是非常常见的需求。
在本实验中,我们需要学习Java中的文件操作相关的类和方法,并通过编写代码来实现文件的读取和写入等功能。
例如,读取一个文本文件中的内容,并将其写入到另一个文件中。
实验六:多线程编程多线程编程是提高程序性能和效率的一种方式。
在本实验中,我们需要学习Java中的多线程编程相关的知识,并通过编写代码来实现多线程的应用。
例如,创建多个线程来同时下载多个文件,并实现进度条的显示。
结论:通过完成以上一系列的实验任务,我们对Java基础知识有了更深入的理解,并掌握了Java编程的基本技巧。
java实验报告

java实验报告Java实验报告实验名称:Java图形界面编程实验对象:Java初学者实验目的:通过实际操作掌握Java图形界面编程的基本知识和技巧实验过程:1. 实验准备:安装Java JDK开发环境,并准备好IDE工具(如Eclipse或IntelliJ IDEA)2. 创建工程:打开IDE工具,新建一个Java工程,并指定工程名和保存路径3. 创建界面:在工程上新建一个Java类,命名为"MainUI"4. 设计界面:在"MainUI"类中使用Swing或JavaFX等GUI库,设计界面布局和组件5. 添加事件监听:在"MainUI"类中添加事件监听器,使组件与逻辑代码进行关联6. 编写逻辑代码:在"MainUI"类中编写逻辑代码,实现界面交互和功能实现7. 编译运行:将工程编译成可执行文件,并运行程序,查看界面效果和功能是否符合预期8. 调试修复:根据实际运行情况,对代码进行调试和修复,确保程序的稳定性和正确性9. 测试验证:使用不同输入数据对程序进行测试,验证程序的鲁棒性和准确性10. 总结反思:对实验过程进行总结和反思,提出改进和优化的建议实验结果:通过实验,我成功创建了一个简单的Java图形界面程序,并实现了基本的交互和功能。
在界面设计方面,我使用了Swing库进行布局和组件的添加,通过事件监听器实现了按钮点击和文本框输入的监听。
在逻辑代码方面,我实现了简单的计算器功能,能够进行加减乘除等基本运算。
通过测试验证,程序运行稳定,结果准确。
实验心得:通过这次实验,我对Java图形界面编程有了更深入的了解和掌握。
我学会了使用Swing或JavaFX等库进行界面设计,以及如何添加事件监听器和编写逻辑代码。
通过实际操作,我发现编写图形界面程序相对于命令行程序更加复杂,需要考虑到用户的交互和界面布局,还需要注意代码的可读性和可维护性。
java实验指导书

实验一java开发环境及语言基础实验目的(1)确保正确配置java开发环境。
(2)了解javac和java命令的使用。
(3)熟悉java中的运算符。
(4)掌握条件语句和循环语句的使用。
(5)掌握通过命令行参数接受数据。
(6)掌握用Scanner类接受数据。
实验内容(1)在控制台中输入java命令,查看输入结果。
(2)编写一个java程序,计算半径为3.0的圆周长和面积并输出结果。
(3)求a+aa+aaa+...+a...a(n个)的和,其中a为1~9之间的整数。
例如,当a=3、n=4时,求3+33+333+3333的和。
(4)给定一个正整数m,统计其位数,分别打印每一位数字,再按照逆序打印出各位数字。
(5)用Scanner类方法输入三角形三边求三角形面积。
实验要求(1)JDK的安装及配置。
(2)在DOS及eclipse下编辑、编译运行第一个java程序:hello world。
(3)求圆周长和面积用方法实现,主函数调用。
(4)从命令行输入1~9之间的整数a,当所求的和大与106时,输出相应的a值及所求的和值。
(5)用Scanner类的方法输入正整数m,m的值不应该超过99999,否则给出错误信息。
应引入包:import java.util.Scanner,然后在需要的方法中实例化对象:Scanner sc = new Scanner(System.in),最后调用对象的next方法,如int n=nextInt(),接受整数。
实验二数组实验目的(1)掌握数组的定义和使用方法。
(2)熟悉数组的排序、查找的方法。
(3)巩固循环的使用。
实验内容(1)使用for循环,将二维数组的行与列互换,即完成矩阵的转置。
(2)编写数组的排序程序。
(3)编写杨辉三角。
实验要求(1)编写一个界面1 选择排序2 冒泡排序3插入排序4 快速排序5 退出当选择1、2、3、4、5的时候完成相应的功能。
(2)杨辉三角形状为等腰三角形实验三字符串实验目的(1)掌握正则表达式的使用。
云南大学数据结构实验7

实验难度: A □ B □ C学期:2017秋季学期任课教师: 储星实验题目: 查找算法的设计与实现组员及组长:承担工作:联系电话:电子邮件:完成提交时间: 2018 年 12 月 29 日一、【实验构思(Conceive)】(10%)(本部分应包括:描述实验实现的基本思路,包括所用到的离散数学、工程数学、程序设计等相关知识,对问题进行概要性地分析)二叉排序树的查找算法及算法原理:对给定的二叉排序树,如果想知道某元素是否在其中出现,可以和根结点比较,如果相等结束;如果不等,若比其大,进入右子树;否则进入左子树;继续按照上面的方法,直到出现相等或者到某分支结束为止,返回查找信息。
哈希表的查找算法及其原理:给定K值,根据造表时设定的哈希函数求得哈希地址,若表中此位置上没有记录,则查找不成功;否则比较关键字,若和给定值相等,则查找成功;否则根据造表时设定的处理冲突的方法找到“下一地址”,直至哈希表中某个位置为“空”或者表中所记录的关键字等于给定值时为止。
数据结构算法的知识:表的定义、表项的表示、表的存储结构、哈希表的定义、哈希函数的构造方法、哈希表查找处理冲突的办法。
面向对象的程序设计相关知识:C基本语法知识、类的定义、对象的生成调用、变量的传递。
二、【实验设计(Design)】(20%)(本部分应包括:抽象数据类型的定义和基本操作说明,程序包含的模块以及各模块间的调用关系,关键算法伪码描述及程序流程图等,如有界面则需包括界面设计,功能说明等)抽象数据类型:typedef int KeyType;typedef struct {const char *name;int namenum;}Name;typedef struct {Name data;int pos;}HashTable;typedef struct Hash {Name data;int pos;struct Hash *next;}*Hash_P, Hash_L;typedef struct BSTNode {KeyType key;struct BSTNode *lc, *rc;}*BSTree;抽象数据操作:void InsertBST(BSTree *bst, KeyType key)//若在二叉排序树中不存在关键字等于key的元素,插入该元素void CreateBST(BSTree *bst)//从键盘输入元素的值,创建相应的二叉排序树BSTree search(KeyType k, BSTree root)BSTNode *DelBST(BSTree t, KeyType k)//在二叉排序树t中删去关键字为k的结点子函数:int menu_X()int menu_T()int menu_L()void initName()void initHashTable_X()void initHashTable_T()void initHashTable_L()void show()void show_L()void findName_X()void findName_T()void findName_L()int Menu()三、【实现(Implement)】(30%)(本部分应包括:抽象数据类型各操作的具体实现代码、关键操作的具体算法实现、函数实现,主程序实现等,并给出关键算法的时间复杂度分析。
JAVA实验

Java实验报告专业班级学号姓名指导教师实验一、安装JDK并熟悉java的运行环境一、实验目的熟悉JA V A的运行环境及学习简单的编程。
二、预习内容安装工具软件的基本方法。
三、实验设备与环境装有JA V A语言工具软件(JCreator )的微机若干四、实验内容安装JCreator及JA V A的核心编译程序J2SDK。
1、打开JCreator的安装盘安装JCreator。
2、在相同目录下安装J2SDK。
3、打开JCreator软件对J2SDK文件进行配置。
4、编写一应用程序,在屏幕上显示“HELLO WORLD”。
public class Hello{public static void main(String args[]){System.out.println( "HELLO WORLD");}}5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”。
实验结果:五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、实验总结与体会1.通过这个实验我了解到java的运行环境。
2.通过这个简单的程序使我认识到做实验是要认真对待,不可马虎大意,区分字母的大小写和符号的正确使用。
实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JA V A语言工具软件(JCreator )的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。
应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。
(1)编辑A verage.java,设保存在D:\myjava目录下。
public class Average{public static void main(String args[ ]){double n,sum=0;for (int l=0;l<args.length;l++){sum=sum+Double.valueOf(args[l]).doubleValue();}n=sum/args.length;System.out.println("average="+n);}}(2)编译。
java实验报告实验原理

java实验报告实验原理Java实验报告实验原理一、引言Java是一种广泛使用的计算机编程语言,具有跨平台、面向对象、简单易学等特点。
在学习Java编程的过程中,实验是不可或缺的一部分。
本文将介绍Java实验的原理和相关知识。
二、实验环境搭建在进行Java实验之前,需要搭建相应的实验环境。
首先,需要安装Java Development Kit(JDK),这是Java开发的基础工具包。
其次,需要选择一个集成开发环境(IDE)来编写和运行Java程序,比如Eclipse、IntelliJ IDEA等。
最后,需要配置Java的环境变量,以便在命令行中能够直接运行Java程序。
三、实验原理1. Java的基本语法Java的语法规范包括数据类型、变量、运算符、控制语句等。
在Java实验中,我们需要掌握这些基本语法知识,以便正确编写和理解Java程序。
2. 面向对象编程Java是一种面向对象的编程语言,它支持封装、继承和多态等特性。
在实验中,我们需要理解面向对象的概念,并能够正确应用这些特性来解决实际问题。
3. 类和对象在Java中,类是对象的模板,用于描述对象的属性和行为。
对象是类的实例,具有独立的状态和行为。
在实验中,我们需要学会定义和使用类和对象,以及理解它们之间的关系。
4. 异常处理Java提供了异常处理机制,可以捕获和处理程序中的异常情况。
在实验中,我们需要学会使用try-catch语句来捕获异常,并进行相应的处理,以保证程序的稳定性和可靠性。
5. 输入输出Java提供了丰富的输入输出功能,可以从键盘读取输入,也可以将结果输出到控制台或文件中。
在实验中,我们需要学会使用Java提供的输入输出类和方法,以便与用户进行交互和展示程序的结果。
6. 集合框架Java的集合框架提供了一系列的数据结构和算法,用于存储和操作数据。
在实验中,我们需要学会使用集合框架提供的各种数据结构,比如List、Set、Map 等,以及相应的操作方法,比如添加、删除、查找等。
java基础语法实验实验原理

java基础语法实验实验原理
Java基础语法实验原理
Java基础语法实验是一种通过编写和运行Java程序来理解和掌握Java语言基
础知识和语法规则的实践活动。
这些实验旨在帮助学习者熟悉Java编程环境以及Java程序的结构、语法和执行过程。
在进行Java基础语法实验时,首先需要安装Java开发工具包(JDK)并配置
好Java开发环境。
然后,使用任何文本编辑器编写Java源代码文件,以.java为后
缀名保存。
Java程序员使用Java编译器(javac)将源代码编译为Java字节码文件(.class文件)。
Java程序的执行依赖Java虚拟机(JVM)。
通过调用Java虚拟机内的Java解
释器(java),可以在计算机上执行Java程序。
Java虚拟机会读取并解释Java字
节码文件,将其转换为可执行的机器码。
这样,Java程序就可以在不同的操作系统上运行。
在进行Java实验时,学习者可以编写简单的程序,例如输出"Hello World"的程序。
这样的程序可以帮助学习者了解Java语法中的基本元素,如变量声明、数据
类型、运算符和控制语句等。
此外,Java实验也可以涉及更复杂的概念和功能,如面向对象编程、异常处理、文件操作和多线程等。
通过逐步增加难度和复杂度,学习者可以逐渐提高自己的Java编程技能和理解能力。
总之,Java基础语法实验通过实践操作帮助学习者掌握Java编程的基本原理和规则。
通过不断地编写和运行Java程序,学习者可以加深对Java语言的理解,并
逐步提升自己的编程能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云南大学软件学院实验报告
课程:Java程序设计实验学期:2012-2013学年第一学期任课教师:陆歌浩
专业:软件工程学号:序号:姓名:成绩:
实验7 继承
一、实验目的
练习Java中继承概念的应用。
二、实验内容
Program 1
Write a program called CollegeCourse that computes the cost of taking a college course. Include a constructor that requires a course ID number.
Add a subclass Lab to compute a lab fee for a course that uses a lab. Write a program UseCourse to use the classes. Save the progras as CollegeCourse, Lab, and UseCourse. Put them all in a package called b7. Hints: how to compile and run your programs in the DOS environment, if using Jcreator you don't have to worry about this
(suppose you put all your work under c:\java\lab7)
Compile the classes by using the command:
javac -d c:\java\lab7\*.java
Run the example by going to c:\java\lab7 and typing:
java ynu/edu/lab7/UseCourse
For example, the output could be:
The cost of your course is $180.0
there is a $25.00 lab fee.
The cost of your course is $205.0
实验代码:
package b7;
public class CollegeCourse
{
protected int id;
public CollegeCourse(int id)
{
this.id = id;
}
public double cost()
{
if(id == 1)
return 180;
else if(id == 2)
return 190;
else
return 200;
}
}
//
package b7;
public class Lab extends CollegeCourse
{
public Lab(int id)
{
super(id);
}
public double cost()
{
if(super.id == 1)
return 25;
else if(super.id == 2)
return 30;
else
return 40;
}
}
//
package b7;
public class UseCourse {
public static void main(String[] args)
{
CollegeCourse course = new CollegeCourse(1);
CollegeCourse lab = new Lab(1);
String str1 = "The cost of your course is $" + course.cost()+"\n";
String str2 = "There is a $" + lab.cost() + " lab fee.\n";
String str3 = "The cost of your course is $" + (course.cost()+lab.cost());
System.out.println(str1+str2+str3+"\n\n孙金文(20101120007)");
}
}
运行截图:
Program 2
Create an abstract Auto class with fields for the car make and price. Include get and set methods for these fields; the setPrice() method is abstract.
Create two suclasses for individual automobile makers (for example, Ford and Chevy) and include appropriate setPrice() methods in each subclass. Finally, write a program that uses the Auto class and subclasses to display information about different cars. The java programs should be named like:
Auto.java
Ford.java
Chevy.java
UseAuto.java
Sample Output:
A new Ford costs $20000.0
A new Chevy costs $22000.0
实验代码:
package b7;
import javax.swing.JOptionPane;
abstract class Auto{
protected double price;
private String maker;
public abstract void setPrice(double price);
public double getPrice(){
return price;
}
public void setMaker(String maker){
this.maker = maker;
}
public String getMaker(){
return maker;
}
}
class Ford extends Auto{
public void setPrice(double price){
this.price=price;
}
public Ford(){}
}
class Chevy extends Auto{
public void setPrice(double price){
this.price=price;
}
public Chevy(){}
}
public class UseAuto{
public static void main(String[] args){
Auto ford = new Ford();
Auto chevy = new Chevy();
ford.setMaker("Ford");
ford.setPrice(20000);
chevy.setMaker("Chevy");
chevy.setPrice(22000);
JOptionPane.showMessageDialog(null,
"A new "+ford.getMaker()
+" costs $"+ford.getPrice()
+"\nA new "+chevy.getMaker()
+" costs $"+chevy.getPrice(),
"孙金文(20101120007)", JOptionPane.PLAIN_MESSAGE);
}
}
运行截图:。