java上机实验
java上机实验总结

java上机实验总结
Java上机实验总结
在本次Java上机实验中,我主要完成了以下任务:
1. 编写一个简单的Java程序,实现两个整数的加法运算。
2. 编写一个Java程序,实现一个简单的计算器,可以进行加、减、乘、除四种基本运算。
3. 编写一个Java程序,实现一个简单的文本编辑器,可以打开、保存和编辑文本文件。
4. 编写一个Java程序,实现一个简单的网络聊天室,可以让用户发送和接收消息。
在实验过程中,我遇到了一些问题,比如在实现计算器程序时,我遇到了浮点数精度问题,导致结果不准确。
后来通过查阅资料,我了解了Java中浮点数的精度问题,并找到了解决方法。
通过本次实验,我深入了解了Java编程语言的基本语法和面向对象编程思想,并且提高了自己的编程能力和解决问题的能力。
同时,我也认识到了团
队合作的重要性,因为在实际开发中,需要多人协作才能完成一个完整的项目。
在未来的学习中,我将继续深入学习Java编程语言,并尝试解决更复杂的问题。
同时,我也希望能够与更多的同学一起合作,共同进步。
教学上机实验报告

一、实验名称Java面向对象编程二、实验目的1. 理解Java面向对象编程的基本概念。
2. 掌握类的定义、对象的创建、方法的编写和调用。
3. 熟悉Java中的继承、多态、封装等特性。
4. 能够通过实验加深对面向对象编程思想的理解。
三、实验环境1. 操作系统:Windows 102. 开发工具:Eclipse3. 编程语言:Java四、实验内容1. 创建一个简单的Java程序,实现两个类:Student和Teacher。
2. 在Student类中定义属性:name(姓名)、age(年龄)、score(成绩),以及方法:getName(获取姓名)、getAge(获取年龄)、getScore(获取成绩)。
3. 在Teacher类中定义属性:name(姓名)、age(年龄)、subject(科目),以及方法:getName(获取姓名)、getAge(获取年龄)、getSubject(获取科目)。
4. 在主类中创建Student和Teacher对象,调用它们的方法,并打印相关信息。
5. 实现Student类和Teacher类的继承,创建一个Parent类,包含共同属性和方法。
6. 在Main类中创建Parent对象,调用它的方法,并打印相关信息。
7. 实现多态,创建一个Animal类,包含共同方法:eat和sleep。
8. 创建两个子类:Dog和Cat,继承自Animal类,并重写eat和sleep方法。
态效果。
10. 封装:将Student类中的score属性设置为私有,提供public的getter和setter方法。
五、实验步骤1. 打开Eclipse,创建一个名为“Java面向对象编程”的Java项目。
2. 在项目中创建三个Java类:Student、Teacher和Main。
3. 编写Student类的代码,包括属性、构造方法、getter和setter方法以及getName、getAge、getScore方法。
大一学生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上机实验

1、实验一:多线程程序设计:炮打飞机实验目的:学会使用多线程进行并发程序设计实验内容:编写一个应用程序模拟大炮打飞机。
在GUI界面上,飞机水平飞行,用界面上的按钮控制大炮的运行方向(如向左,向右,向上,向下)。
当炮弹碰着飞机后,飞机坠落。
2、实验二:数据库编程:书目信息管理实验目的:掌握数据库编程技术。
能正确连接数据库,能对数据库中信息进行查询、插入、删除、修改。
实验内容:在数据库中创建一张书目信息表,包括书名、作者、出版社、出版日期、书号、价格字段。
设计一个GUI界面进行书目管理。
在该界面上有四个选项卡,分别是查询、插入、删除、修改。
点击查询选项卡,出现的界面上有书名、作者、出版社、书号四个文本框,一个按钮和一个只读文本区。
文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的“查询”按钮,可以在界面下方的文本区中显示出符合条件的书目详细信息。
点击插入选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。
在文本框中输入信息后,点击“插入”按钮,该书目信息插入数据库表中。
点击删除选项卡,出现的界面上有书名文本框和一个按钮,输入书名后点击“删除”按钮,该书目信息从数据库表中删除。
点击修改选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。
输入的书名必须是已存在的,否则会弹出消息框显示出错信息。
输入信息后,点击“修改”按钮,数据库表中的相应书目信息被修改为新值。
3、实验三:Applet编程:鸭子的移动实验目的:掌握Applet程序设计的方法,学会在Applet中绘制图片,能采用双缓冲技术进行图片绘制,会在Applet中采用多线程进行动画显示。
能在Applet中实现动画的平滑显示,避免闪烁现象。
实验内容:在Applet窗口中显示一只鸭子图片,要求这只鸭子以每秒100帧的速率水平移动,移到窗口边界再返回移动。
在窗口中点击鼠标,鸭子停止移动;再次点击鼠标,鸭子恢复移动。
《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上机实验总结 -回复

java上机实验总结-回复Java上机实验总结[Java实验主题]本次实验主题为使用Java编程语言进行上机实验。
[实验目的]本次实验旨在通过实际操作,加深对Java编程语言的理解和掌握,提高编程能力。
[实验步骤]1. 实验准备在开始实验前,需要准备相应的开发环境和工具。
首先,下载并安装Java 开发工具包(JDK),确保JDK的版本与实验要求相符。
其次,选择一款Java集成开发环境(IDE),如Eclipse或IntelliJ IDEA,并安装并配置好。
2. 导入实验项目打开选择的Java开发环境,新建一个Java项目,并导入实验所需的项目文件。
项目文件可能包括Java源代码文件、图像资源文件、配置文件等。
3. 阅读实验需求仔细阅读实验要求,明确实验的目标和要求。
通常,实验需求会要求实现某个具体功能,或者根据输入数据进行某种数据处理和计算。
4. 设计程序结构根据实验需求,设计程序的整体结构。
这包括确定程序的主要类和方法,以及它们之间的关系。
可以使用流程图或UML图等工具进行设计和规划。
5. 编写代码根据程序的设计,逐步实现代码。
根据需要,可以使用Java的基本语法、控制流语句、循环结构和面向对象编程等特性,来编写代码,并逐步完善功能。
6. 调试和测试完成代码编写后,进行调试和测试。
可以通过逐步调试观察程序的执行过程,查看变量的值或输出结果,发现并修复可能存在的错误。
同时,也可以编写一些测试用例,验证实现功能的正确性。
7. 优化和改进在调试和测试的过程中,可能会发现代码存在性能问题、逻辑错误或功能缺陷等。
这时,可以对代码进行优化和改进,以提高程序的效率、性能或易用性。
8. 文档撰写完成代码的编写和优化后,还需要编写实验报告或文档。
实验报告可以描述实验的目的和要求、设计思路、代码实现、测试结果和思考等内容。
9. 提交实验报告最后,根据实验要求,将实验报告提交给指导老师或实验课助教。
一般情况下,实验报告可以以文档形式提交(如PDF或Word文档),或上传到指定的在线学习平台。
《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。
Java上机实验指导

《Java语言程序设计》上机实验指导手册实验一 Java环境演练【目的】①安装并配置Java运行开发环境;②掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序;③掌握开发Java Applet程序的3个步骤:编写源文件、编译源文件和运行Java Applet 程序;④学习同时编译多个Java源文件。
【内容】1.一个简单的应用程序✧实验要求:编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令行窗口输出"你好,很高兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令行窗口输出"We are students"}}✧实验后的练习:1.编译器怎样提示丢失大括号的错误?2.编译器怎样提示语句丢失分号的错误?3.编译器怎样提示将System写成system这一错误?4.编译器怎样提示将String写成string这一错误?2.一个简单的Java Applet程序✧实验要求:编写一个简单的Java Applet程序,并在Java Applet中写两行文字:“这是一个Java Applet程序”和“我改变了字体”。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:FirstApplet.javaimport java.applet.*;import java.awt.*;public class FirstApplet extends Applet{public void paint(Graphics g){g.setColor(Color.blue);【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序”g.setColor(Color.red);g.setFont(new Font("宋体",Font.BOLD,36));【代码2】//在Java Applet中绘制一行文字:“我改变了字体”}}✧实验后的练习:5.程序中的主类如果不用public修饰,编译能通过吗?6.程序中的主类如果不用public修饰,程序能正确运行吗?7.程序将paint方法误写成Paint,编译能通过么?8.程序将paint方法误写成Paint,运行时能看到有关的输出信息吗?3.联合编译✧实验要求:编写4个源文件:Hello.java、A.java、B.java和C.java,每个源文件只有一个类,Hello.java是一个应用程序(含有main方法),使用了A、B和C类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验内容描述(问题域描述)实验目的:熟悉JDK的安装、配置和使用,掌握Java Application程序的基本结构。
实验内容:(1)安装JDK,并练习设置JAVA_HOME、path和classpath环境变量;(2)编写一个打印出”HelloWorld”的Java Application程序,并编译运行二、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等)一. 实验内容描述(问题域描述):熟悉Java的各种类型、掌握java的变量定义及表达式的运算等。
实验内容:(1)编写一个程序计算长方形的面积和周长。
长方形的宽和高要求从键盘输入。
(2)尝试使用Math类提供的随机数生成方法,产生一个1~100的随机整数并输出。
import java.util.Scanner;public class Juxing {public static void main(String[] args) {// TODO Auto-generated method stubint s=0,l=0;Scanner sc= new Scanner(System.in);System.out.println("请输入长h,回车换行");int h=sc.nextInt();System.out.println("请输入宽w,回车换行");int w=sc.nextInt();s=h*w;l=2*(h+w);System.out.println("长方形面积为s="+s);System.out.println("长方形周长为l="+l);}}2.public class shuzi {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.print((int)(Math.random()*100));}一.实验内容描述(问题域描述)。
熟练掌握java的各种流程控制实验内容:(1) 编写一个程序实现将任意一个大于6的偶数表示成两个素数之和。
(2) 编写一个程序实现输出任意四个数的中位数。
例如:四个数3、4、5、6的中位数为4.5,10、20、35、36的中位数27.5.(1)素数之和package chap01;import java.util.Scanner;public class TestGeDeBaHeGuess {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubTestGeDeBaHeGuess test=new TestGeDeBaHeGuess();System.out.println("输入大于6的偶数");test.Guess06();System.out.println();}public void Guess06(){TestGeDeBaHeGuess test=new TestGeDeBaHeGuess();Scanner reader=new Scanner(System.in);int i=reader.nextInt();//i用于判断if((i<6)||(i%2!=0)){System.out.println("参数错误!");}//for(int j=3;j<i;j++){//列出所有结果for(int j=3;j<i/2;j++){ //i/2列出不重复的结果if(test.Prime(j)&&(i-j)>2&&test.Prime(i-j))//判断是否为质数{System.out.print(j+"+"+(i-j)+"="+i+" ");}}}public boolean Prime(int t){for(int i=2;i<t;i++){if(t%i==0){return false;}}return true;}}(2)package test;import java.util.Scanner;public class test {/*** @param args*/public static int min1(int a[],int m){int i,s = 0,min;min=a[m];for(i=m;i<=3;i++){if(a[i]<=min) min=a[i];s=i;}return(s);}public static void main(String[]args){int i,t;double x,s;int array[]=new int[4];System.out.println("请任意输入四个整数");Scanner sc=new Scanner(System.in);for(i=0;i<4;i++){array[i]=sc.nextInt();}for(i=0;i<1;i++){s=min1(array,i);t= array[(int) s];array[(int) s]=array[i];array[i]=t;}x=array[1]+array[2];x=x/2;System.out.println("输入的四个整数的中位数为:"+x);}}实验内容描述(问题域描述)熟练掌握java的一维、多维数组的使用。
实验内容:(1)编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出。
(2)编程输出杨辉三角的前10行。
(3) 找出一个二维数组的鞍点,即该位置上的元素在该行上最大,在该列上最小(注:一个二维数组也可能没有这样的鞍点)。
(1)import java.io.*;public class sjsz {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubint a[][]=new int[10][10];int b[]=new int[10];int c[]=new int[10];int d;int i,j;for(i=0;i<10;i++)for(j=0;j<=i;j++)a[i][j]=(int)(Math.random()*100);for(i=0;i<10;i++){d=a[i][0];for(j=0;j<=i;j++)if(a[i][j]>d)d=a[i][j];b[i]=d;}for(i=0;i<10;i++)System.out.print(b[i]+" ");System.out.println();for(i=0;i<10;i++){d=0;for(j=0;j<10;j++)d=d+a[j][i];c[i]=d/10;}for(i=0;i<10;i++)System.out.print(c[i]+" ");System.out.println();}}(2)public class yanghui {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubfinal int ROW = 10;int a[][] = new int[ROW + 1][];for (int i = 0; i <= ROW; i++) {a[i] = new int[i + 1]; // 指定每行的列数}yanghui(a, ROW);}static void yanghui(int a[][], int ROW) {for (int i = 0; i <= ROW; i++)for (int j = 0; j <= a[i].length - 1; j++) {if (i == 0 || j == 0 || j == a[i].length - 1)a[i][j] = 1;elsea[i][j] = a[i - 1][j - 1] + a[i - 1][j];}for (int i = 0; i <= ROW; i++) {for (int j = 0; j <= a[i].length - 1; j++)System.out.print(a[i][j] + "\t");System.out.println();}}}(3)import java.util.Scanner;public class andian {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubint n=0;int m=0;Scanner reader=new Scanner(System.in);System.out.println("请输入数组的行数:");m=reader.nextInt();System.out.println("请输入数组的列数:");n=reader.nextInt();int[][] array=new int[m][n];System.out.println("请输入数组的元素:");for(int i=0;i<m;i++)for(int j=0;j<n;j++)array[i][j]=reader.nextInt(); }int[] maxArray=new int[m];int[] minArray=new int[n];int max=0,min=0;for(int i=0;i<m;i++){max=array[i][0];for(int j=0;j<n;j++){if(array[i][j]>max){max=array[i][j];maxArray[i]=j;}}}for(int j=0;j<n;j++){min=array[0][j];for(int i=0;i<m;i++){if(array[i][j]<min){min=array[i][j];minArray[j]=i;}}}for(int i=0;i<m;i++){if(array[i][maxArray[i]]==array[minArray[maxArray[i]]][maxArray[i]]) {System.out.println("鞍点是:");System.out.println("["+i+","+maxArray[i]+"]"+":"+array[i][maxArray[i] ]);}}}}一、实验内容描述(问题域描述)编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。