Java语言程序设计实验四 方法及数组实验报告
java语言程序设计实验报告

java语言程序设计实验报告
《Java语言程序设计实验报告》
实验目的:通过本次实验,学生将学会使用Java语言进行程序设计,掌握Java
语言的基本语法和编程技巧,并能够编写简单的Java程序。
实验内容:本次实验主要包括以下内容:1. Java语言的基本语法和数据类型;2. Java程序的输入输出;3. Java程序的流程控制;4. Java程序的函数和类的定义;
5. Java程序的异常处理等。
实验步骤:1. 阅读相关的Java语言教材和资料,了解Java语言的基本概念和
语法规则;2. 编写简单的Java程序,包括输入输出、流程控制、函数和类的定
义等;3. 调试和运行编写的Java程序,查看程序的运行结果;4. 对程序进行优
化和改进,提高程序的效率和性能。
实验结果:通过本次实验,学生将能够熟练掌握Java语言的基本语法和编程技巧,能够编写简单的Java程序,并能够运用Java语言解决实际的问题。
实验总结:通过本次实验,学生将对Java语言有了更深入的了解,掌握了Java
语言的基本概念和编程技巧,能够独立编写简单的Java程序。
同时,学生也将
培养了良好的编程习惯和解决问题的能力,为今后的学习和工作打下了良好的
基础。
结语:通过本次实验,学生将能够熟练掌握Java语言的基本语法和编程技巧,
为今后的学习和工作打下了良好的基础。
同时,也希望学生能够在今后的学习
和工作中不断提高自己的编程能力,为科技创新和社会发展做出更大的贡献。
java实验4

实验4 数组(4学时)一、实验目的1.熟练掌握Java中一维数组、多维数组的使用方法。
2.使用Java数组解决一般性的应用问题。
二、实验内容1、在main方法中创建一个含有10个元素的int型数组,进行以下操作:(1)将数组元素按照从小到大的顺序排列;(2)对排好序的数组使用折半查找(使用递归和非递归两种形式分别实现)查找某一个int元素。
2、使用一维数组编码实现一个栈(Stack)类,要求提供以下操作:(1)boolean isEmpty():判断栈(3)出栈操作Object pop():(2)入栈操作void push(obj):把数据元素obj插入堆栈;当前是否为空;出栈,并返回删除的数据元素;(4)Object getTop():取堆栈当前栈顶的数据元素并返回。
编写代码测试所形成的Stack类,然后利用Stack类实现以下功能:输入一个正整数,输出该整数所对应的二进制数。
3、按照要求使用Java编码。
1)以类型int[][]声明一个叫matrix的二维数组变量,将矩阵初始化为一个5个元素的数组。
2)以下列方式为matrix的内部元素赋值:matrix从零开始循环到其长度值;例如索引为i,在每次迭代中,将matrix[i]指向一个新的整数数组,其长度为i。
然后用索引变量j,对数组中的每一个元素进行循环。
在每次内部循环中,将matrix[i][j]赋值为(i*j)。
3)通过循环打印matrix中的所有元素,结果为:<><0><0 2><0 3 6><0 4 8 12>4、利用二维数组实现一个矩阵类:Matrix。
要求提供以下操作:(1)set(int row, int col, double value):将第row行第col列的元素赋值为value;(2)get(int row,int col):取第row行第col列的元素;(3)width():返回矩阵的列数;(4)height():返回矩阵的行数;(5)Matrix add(Matrix b):返回当前矩阵与矩阵b相加后的结果矩阵;(6)Matrix multiply(Matrix b):返回当前矩阵与矩阵b 相乘后的结果矩阵。
java语言程序设计实验报告

java语言程序设计实验报告篇一:Java实验八报告《Java语言程序设计》实验报告学生姓名:郭倩班级:信息112学号:201152275208实验地点:经管实验中心证券实验室指导教师:赵利平实验日期:实验环境:Windows 2000+JDK1.61. 实验目的(1)理解子类派生的概念(2)学习创建子类对象(3)掌握方法覆盖的使用2.实验内容(1)设计三个类:完成实验教材P52页程序清单4-2;(2)通过编制一个程序来加深对嵌套类、内部类和局部类的理解:完成实验教材P56页程序清单4-3;2. 实验过程报告撰写具体要求:上述实验内容要求写出源代码及运行结果。
实验内容(1)://Polymorphism.abstract class Student{final static int CourseNo=3;String name;String type;int[] courses;String courseGrade;public Student(String name){=name;courses=new int[CourseNo];courseGrade=null;}public abstract void calculateGrade();public String getName(){return name;}public String getType(){return type;}public String getCourseGrade(){return courseGrade;}public int getCourseScore(int courseNumber){return courses[courseNumber];}public void setName(String name){=name;}public void setType(String type){this.type=type;}public void setCourseScore(int courseNumber,int courseScore){this.courses[courseNumber]=courseScore;}}class Undergraduate extends Student{public Undergraduate(String name){super(name);type="本科生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=80&&average<100) coursegrade="优秀" else="" average="">=70&&average<80) coursegrade="良好" else="" average="">=60&&average<70) coursegrade="一般" else="" average="">=50&&average<60) courseGrade="及格";else courseGrade="不及格";}}class Postgraduate extends Student{public Postgraduate(String name){super(name);type="研究生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=90&&average<100) coursegrade="优秀" else="" average="">=80&&average<90) coursegrade="良好"else="" average="">=70&&average<80) coursegrade="一般" else="" average="">=60&&average<70) courseGrade="及格";else courseGrade="不及格";}}public class Polymorphism{public static void main(String[] args){Student[] students=new Student[5];students[0]=new Undergraduate("陈建平");students[1]=new Undergraduate("鲁向东");students[2]=new Postgraduate("匡晓华");students[3]=new Undergraduate("周丽娜");students[4]=new Postgraduate("梁欣欣");for(int i=0;i<5;i++){students[i].setCourseScore(0,87);students[i].setCourseScore(1,90);students[i].setCourseScore(2,78);}for(int i=0;i<5;i++){students[i].calculateGrade();}System.out.println("姓名"+" 类型"+" 成绩");}}System.out.println("-------------------------"); for(int i=0;i<5;i++){ System.out.println(students[i].getName()+" "+students[i].getType()+" "+students[i].getCourseGrade()); }(1) 都有(2) Student[] students=new Student[5];(3) Student是抽象的,不能用new操作符创建抽象类的实例。
java流程控制及数组实验报告

java流程控制及数组实验报告下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!流程控制及数组实验报告。
一、流程控制。
1. 顺序结构。
java实验报告-

实验报告□实践报告□课程名称:Java语言程序设计实验、实践名称:Java语言基础、数组和字符串编程、Java面向对象程序设计、Java异常处理多线程编程、图形用户界面编程实验、实践地点:致向楼301专业班级:软件1531 学号:学生姓名:关玉芬指导教师:相洁2017 年1月8日实验一Java语言基础一、实验目的和要求(1) 通过实验,掌握Java语言程序设计的基本方法。
(2) 学会Java语言中标示符的命名、运算符和表达式的应用。
(3) 熟练地掌握Java程序流程控制语句的应用。
二、实验内容1.编写应用程序,计算100(含100)以内所有偶数的和。
2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。
编写程序,求所有的水仙花数。
3.编写一个程序,求1-100间的素数。
4. 有一函数:x (x<1)Y= 3x-2 (1≤x<10)4x (x≥10)写一程序,给定x值,输出y值。
5. 使用for循环语句,编写程序输出以下图案。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。
判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。
三、主要仪器设备使用的计算机惠普:硬件配置Win7、软件环境eclipse四、实验代码1. public class a1 {public static void main(String[] args) {int i,sum=0;for(i=0;i<=100;i++){if(i%2==0)sum+=i;}Syst}}2. public class a2 {public static void main(String[] args) {int i,a,b,c;for(i=100;i<=999;i++){a=i%10;b=(i-a)%100/10;c=(i-b*10-a)/100;if(i==a*a*a+b*b*b+c*c*c){}}}}3. public class a3 {public static void main(String[] args) {// TODO Auto-generated method stubfor(int i=2;i<=100;i++) {boolean t = false;for(int j=2;j<i;j++){if(i%j==0){t=false;break;}else {t=true;}}4. public class a4 {public static void main(String[] args) {int i,j;for(i=1;i<=4;i++){for(j=1;j<=((-1)*i+4);j++)for(j=1;j<=(2*i-1);j++)☆");for(i=3;i>=1;i--){for(j=1;j<=((-1)*i+4);j++)for(j=1;j<=(2*i-1);j++)☆");5. import java.util.*;public class a5 {public static void main(String[] args) {Scanner x=new Scanner(System.in);int i=x.nextInt();x.close();}}6. package shiyan;public class a6 {public static void main(String[] args) {int i,j=0;for(i=1900;i<=2100;i++){if((i%4==0)&&(i%100!=0)||(i%400==0)){j++;if(j%5==0)else{五、实验结果1.2.3.4.5.6.六、讨论、心得初步掌握了Eclipse集成开发环境。
Java程序设计实验报告4

课程实验报告
的文件对象,然后对str中的每个对象调用isFile()方法判断是否是文本文件,并计数输出
(4)在外层使用for循环对每个文本文件遍历行数
(5)在内层创建FileReader类的对象reader1和BufferedReader类的对象reader2,设置行数rows=0,分别读每个文本文件计算行数
调试过程及实验结果1. 2.
总结通过第一个实验我熟悉了BufferedReader、BufferedWriter等流类的相关使用方法,掌握了向文件中读写数据的基本步骤;通过第二个实验我掌握了Java File类相关方法的调用和使用,熟悉对文本文件和非文本文件基本方法的使用。
附录(手抄源程序清单,对关键步骤需要添加注释,写在报告背面即可,无需附页,严禁打印)
*注意:
--雷同无效,禁止抄袭;
--A4纸单面打印,左侧装订,2个钉;
--以班为单位,各班负责人收齐并按学号由小到大顺序排序后上交;。
java程序实验报告

java程序实验报告Java程序实验报告一、引言Java是一种跨平台的编程语言,具有简单易学、安全可靠、强大灵活等特点。
在本次实验中,我们通过编写Java程序,探索了其基本语法和常用功能。
本报告将详细介绍实验过程、结果及相关分析。
二、实验目的1. 熟悉Java的开发环境和基本语法;2. 掌握Java程序的编写和调试技巧;3. 实践运用Java的面向对象思想。
三、实验过程1. 环境搭建在开始实验前,我们首先需要搭建Java的开发环境。
我们选择使用Eclipse作为开发工具,并安装了Java Development Kit(JDK)。
2. 编写HelloWorld程序首先,我们编写了一个简单的HelloWorld程序。
该程序的功能是在控制台输出"Hello, World!"。
通过编写这个简单的程序,我们熟悉了Java的基本语法和程序结构。
3. 实现基本功能接下来,我们开始实现一些基本的功能。
我们编写了一个学生管理系统,该系统可以实现学生信息的录入、查询和删除等功能。
通过这个实验,我们掌握了Java的面向对象思想和类的定义、对象的创建和方法的调用等基本概念。
4. 异常处理在编写程序的过程中,我们还遇到了一些异常情况,如用户输入错误、文件读写失败等。
为了保证程序的稳定性和可靠性,我们学习了Java的异常处理机制,并在程序中添加了相应的异常处理代码。
四、实验结果经过多次实验和调试,我们成功地实现了学生管理系统。
该系统可以实现学生信息的录入、查询和删除等功能,并能够处理各种异常情况。
我们进行了多组测试,验证了程序的正确性和稳定性。
五、实验分析通过本次实验,我们深入了解了Java的基本语法和面向对象思想。
Java的语法结构清晰简洁,易于理解和掌握。
面向对象的编程思想使程序的结构更加清晰,代码的复用性更高。
同时,Java还提供了丰富的类库和工具,方便我们进行程序开发和调试。
然而,我们也遇到了一些困难和挑战。
JAVA程序设计基础实验四

实验报告四一【实验目的】(1)理解异常和异常处理的概念(2)理解异常处理机制二【实验内容】【项目一】理解异常处理机制1.编写以下程序,并编译运行3.使用try{}catch{}final{}结构,捕获并处理异常,在final里中打印输出:public class Ex7_1{public static void main(String[] args){try{String output[]={"The","quick","brown","fox","jumps","over","the","lazy","dog."};int i=0;while(i<12){System.out.print(output[i++]);}}catch(Exception e){System.out.print("haha...");}finally{System.out.println("不管怎样都要执行的语句!");}}}【项目二】完成实验指导书——5.2.4 异常处理(1)程序代码class NoLowerLetter extends Exception{public void print(){System.out.printf("%c",'#');}}class NoDigit extends Exception{public void print(){System.out.printf("%c",'*');}}class People{----------------------------精品word文档值得下载值得拥有----------------------------------------------void printLetter(char c) throws NoLowerLetter{if(c<'a'||c>'z'){NoLowerLetter noLowerLetter=new NoLowerLetter();throw noLowerLetter;}else{System.out.print(c);}}void printDigit(char c) throws NoDigit{if(c<'1'||c>'9'){NoDigit noDigit=new NoDigit();throw noDigit;}else{System.out.print(c);}}}public class ExceptionExample{public static void main (String args[]){People people=new People();for(int i=0;i<128;i++){try{people.printLetter((char)i);}catch(NoLowerLetter e){e.print();}}for(int i=0;i<128;i++){try{people.printDigit((char)i);}catch(NoDigit e){e.print();}}}}(2)运行结果【项目三】使用Thread创建线程,要求及部分源码见附件/线程/1~6.jpgclass Tortoise extends Thread{int sleepTime=0,liveLength=0;Tortoise(int sleepTime,String name,int liveLength){this.sleepTime=sleepTime;this.liveLength=liveLength;setName("乌龟");}public void run(){while(true){liveLength--;----------------------------精品word文档值得下载值得拥有----------------------------------------------System.out.printf("@");try{Thread.sleep(80);}catch(InterruptedException e){}if(liveLength<=0){System.out.printf(getName()+"进入死亡状态\n");return;//结束run()方法的语句;}}}}class Rabbit extends Thread{int sleepTime=0,liveLength;Rabbit(int sleepTime,String name,int liveLength){this.sleepTime=sleepTime;this.liveLength=liveLength;setName("兔子");}public void run(){while(true){liveLength--;System.out.printf("*");try{Thread.sleep(50);}//让线程调用sleep()方法进入中断状态,sleepTime毫秒后线程重新排队,等待CUP资源;catch(InterruptedException e){}if(liveLength<=0){System.out.printf(getName()+"进入死亡状态\n");return;//结束run()方法的语句;}}}}public class ThreadExample{public static void main(String args[]){String s1="兔子",s2="乌龟";Rabbit rabit;rabit=new Rabbit(50,s1,50);//新建线程rabit;Tortoise tortoise;tortoise=new Tortoise(20,s2,70);//新建线程tortoise;rabit.start();//启动线程tortoisetortoise.start();//启动线程rabit;}}【项目四】使用Rannable接口创建线程class Bank implements Runnable{private int money=100;----------------------------精品word文档值得下载值得拥有----------------------------------------------Thread zhang,keven;Bank(){String s1="会计",s2="出纳";zhang=new Thread(this);zhang.setName(s1);keven=new Thread(this);keven.setName(s2);}public void run(){int i=0;//声明一个int类型变量i,初值为0;while(true){if(Thread.currentThread().getName().equals("会计")){i=i+1;money=money+1;System.out.printf("%s将money的值改为%d\t",zhang.getName(),money);System.out.printf("%s的局部变量i=%d\n",zhang.getName(),i);if(i>=6){System.out.printf("%s线程进入死亡状态\n",zhang.getName());return;}try{Thread.sleep(1000);}catch(InterruptedException e){}}else if(Thread.currentThread().getName().equals("出纳")){i=i-1;money=money-1;System.out.printf("\n%s将money的值改为%d\t",keven.getName(),money);System.out.printf("%s的局部变量i=%d\n",keven.getName(),i);if(i<=-6){System.out.printf("%s线程进入死亡状态\n",keven.getName());return;}try{Thread.sleep(1000);}catch(InterruptedException e){}}}}}public class BankExample{public static void main(String args[]){Bank bank=new Bank();bank.zhang.start();bank.keven.start();}}----------------------------精品word文档值得下载值得拥有----------------------------------------------三【实验小结】本次实验是这么课程的第四次实验,通过前几次的实验让我对Java的学习有了更深一步的了解,这次实验主要练习的是线程和异常,仍然主要是利用了类的创建,在做实验的过程中,第一步编译的时候还是会出现许多错误,根据错误的地方提示再一步一步的进行修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四 方法及数组
姓 名:
学 号:
日 期:
一、实验目的: 1、掌握数组的定义和使用方法 2、熟悉数组的排序、查找等算法
二、实验环境: 有 Java 环境的计算机若干台
三、实验内容和要求:
1、定义一个 10 个元素的数组,要求从键盘输入(Scanner 类,循环输入),并在里面查 找某个数据,找到输出“有”,没有这个数提示“无”。
思路:使用 Scanner 类输入数组元素,然后再输入要查找的元素,循环比较查找。
2、编写一个数组处理类,要求里面有这样的两个方法,第一个方法,可以对输入的数 组进行排序,第二个方法可以删除指定位置的数组元素;然后再写一个主类,测试上面 这个类的正确性。 思路:第一个类框架 class first{
System.out.println("无"); } }
2: package syyyy;
import java.util.*; class first {
public void sort(int []a) { int i,j,k,temp; for(i=0;i<a.length;i++) {
k=i; for(j=i+1;j<a.length;j++) if(a[i]>a[j]) { temp=a[k]; a[k]=a[j]; a[j]=temp; } } } public boolean delelement(int [] a,int index) { int i; if(index>a.length-1)
a[i]=chm.nextInt(); } System.out.println("请输入要找的数"); t=chm.nextInt(); for(int j=0;j<10;j++) {
if(t==a[j]) bbk=1;
} if(bbk==1)
System.out.println("有"); else
public static void main(String[] args) { // TODO Auto-generated method stub int t,bbk=0; int []a; a=new int[10]; Scanner chm=new Scanner(System.in); System.out.println("请输入十个数"); for(int i=0;i<10;i++) {
void sort(int [] a){//该方法为对 a 数组排序的方法} void delelement(int[] a,int index){//该方法实现删除 a 数组内第 index 位置的元 素}
//可以增加折半等等 }
第二个类框架: class second{ public static void main(String args[]) { 使用 Scanner 输入一个数组,采用前一个类的第一方法对其排序,输出看看是否正确, 在采用前一个类的第二个方法,输出第 3 个元素,验证正确性。 }
System.out.println("输出排序前"); f.printarray(a); f.sort(a); System.out.println("输出排序后"); f.printarray(a); f.delelement(a, 2); System.out.println("输出删除第2个数后"); f.printarray(a); } }
3): import java.util.Scanner;
public class syyyyyyyy43 {
/** * @param args */
public static void main(String[] args) { // TODO Auto-generated method stub Scanner bbk=new Scanner(System.in); System.out.println("请输入一个十进制数:"); int a=bbk.nextInt(); int pok=a/2; int shu[]=new int [pok+1]; if(pok<3000){ if(a%2==0){ shu[0]=1; System.out.print(shu[0]); for(int i=1;i<pok+1;i++){ shu[i]=0; System.out.print(shu[i]); } }
{System.out.println("超出数组长度"); return false; } else {for(i=index-1;i<a.length-1;i++)
a[i]=a[i+1]; a[a.length-1]=999; return true; } } public void printarray(int []a) {int i; for(i=0;i<a.length;i++) System.out.printf("%8d",a[i]); System.out.println(); } } class sy42 {public static void main(String []args) {Scanner sc=new Scanner(System.in); int []a; int i; a=new int[10]; System.out.println("请输入10个数"); for(i=0;i<10;i++) {a[i]=sc.nextInt(); } first f=new first(); //生成对象才可以调用外部类方法
实验成绩:
教师:**
**年 09 月 23 日
else for(int i=0;i<pok+1;i++){ shu[i]=1; System.out.print(shu[i]); }
} else System.out.print("输入过大");
} }
五、实验结果与分析(含程序、数据记录及分析和实验总结等):
六:思考题:
找一个 数组典型应用的题目以及答案 七、教师评语:
3、给定一个十进制正整数(不超过 3000 位) , 请将其转换成对应的二进制整数 比如 3465555369355754989772
输出 101110111101111000111101111101110010000100111001011011011110100011001100
四、实验步骤: 1: import java.util.Scanner; public class sy41 {