JAVA课实验报告 文件与数据流

合集下载

java实验报告完整版

java实验报告完整版

实验报告(计算机与信息工程学院实验中心)学期: 2014-2015课程名称:《Java程序设计实验》班级:信息1202 *名:***学号: 31指导老师:***《Java程序设计》独立实验教学安排一、实验的教学方式、安排及实验环境(一)教学方式对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。

实验十二的内容由学生自行设计完成。

(二)教学安排学时数:30课时学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。

(三)实验环境实验环境为JDK 。

(四)具体安排地点:信息大楼实验室。

辅导:每个班次一名辅导老师,原则上由任课老师担任。

登记:实验完成,由辅导老师登记实验纪录。

学生:实验做完,完成实验报告内容,并在学期末上交实验册。

老师:批改实验,成绩与平时成绩一起占期末的30%。

二、实验的具体内容和要求见实验报告。

浙江工商大学计算机与信息工程学院实验报告(1)日期:地点:成绩:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验原理和内容:一、实验目的:熟悉Java开发环境及简单程序Java设计。

二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。

三、实验内容及要求:1.下载、安装并设置Java SDK 软件包。

2.熟悉Eclipse 编辑软件。

3.掌握运行Java 程序的步骤。

4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。

要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。

程序一public class hello {public static void main(String[] args) {for(int i=0;i<=4;i++){"Hello java! 欢迎使用!");}}}结果示意图1存在的问题1、JAVA 存在大小写,因为system没有区分大小写所以出现编译错误。

java基础实验报告

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有关数据流的常用类及其类层次关系
2,掌握Java的文件输入输出流的编程
3,掌握Java图形界面中事件响应机制编程
实验内容和步骤:
1,打开一个文本文件,每次读取一行内容。

将每行作为一个String读入,并将那个String 对象置入一个Vector里。

按相反的顺序打印出Vector中的所有行。

2,在第1步的程序中,使读取那个文件的名字作为一个命令行参数提供。

3,在第2步的程序中,又打开一个文本文件,以便将文字写入其中。

将Vector 中的行随同行号一起写入文件。

4,在第2步的程序中,在文件中查找指定的单词。

打印出包含了欲找单词的所有文本行。

作业和思考题:"
(完成上述编程联系,并回答以下问题,请将本文件作为实验报告,上传到教师指定目录。

为防止上传文件重名而覆盖,建议命名为“学号+姓名.doc”)
1,查阅JDK API文档,举出几个字节流的类和几个字符流的类。

2,对象的序列化涉及哪些类,举例说明对象序列化的应用场合。

《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课程设计实验报告及全部源码流程图

Java课程设计实验报告及全部源码流程图

课程设计一、实验目的1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。

2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。

3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。

二、实验要求1.问题描述准确、规范。

2.程序结构合理,调试数据准确、有代表性.。

3.界面布局整齐,人机交互方便。

4.输出结果正确。

5.正确撰写实验报告。

三、实验内容编写一个GUI程序实现日历的功能。

一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。

可以实现显示时钟,时钟能进行整点报时。

可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。

四、实验步骤1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。

2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。

3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。

4. 根据实验结果,写出合肥工业大学实验报告。

实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。

5.详细的上机实验步骤见任务分工及程序设计进度表。

五、实验结果经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。

java实验报告

java实验报告

java实验报告Java 实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解和掌握Java 语言的基本语法、面向对象编程的概念和方法,以及常用类库的使用。

同时,培养我们的问题解决能力、逻辑思维能力和代码规范意识,为今后的软件开发工作打下坚实的基础。

二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java Developers3、 JDK 版本:JDK 18三、实验内容本次实验共包括以下三个部分:1、 Java 基本语法练习变量与数据类型运算符与表达式控制流语句(ifelse、for、while、dowhile)数组2、面向对象编程实践类与对象的定义和使用构造函数与方法重载封装、继承与多态抽象类与接口3、 Java 常用类库应用String 类与字符串操作集合框架(ArrayList、HashMap)文件输入输出(File、FileReader、FileWriter)四、实验步骤及代码实现1、 Java 基本语法练习变量与数据类型:```javapublic class VariableDataType {public static void main(String args) {int age = 20;double salary = 50005;String name ="张三";boolean isStudent = true;Systemoutprintln("年龄:"+ age);Systemoutprintln("工资:"+ salary);Systemoutprintln("姓名:"+ name);Systemoutprintln("是否是学生:"+ isStudent);}}```运算符与表达式:```javapublic class OperatorExpression {public static void main(String args) {int num1 = 10;int num2 = 5;int sum = num1 + num2;int difference = num1 num2;int product = num1 num2;int quotient = num1 / num2;int remainder = num1 % num2; Systemoutprintln("和:"+ sum);Systemoutprintln("差:"+ difference);Systemoutprintln("积:"+ product);Systemoutprintln("商:"+ quotient);Systemoutprintln("余数:"+ remainder);}}```控制流语句:```javapublic class ControlFlowStatement {public static void main(String args) {// ifelse 语句int score = 80;if (score >= 90) {Systemoutprintln("优秀");} else if (score >= 80) {Systemoutprintln("良好");} else if (score >= 70) {Systemoutprintln("中等");} else if (score >= 60) {Systemoutprintln("及格");} else {Systemoutprintln("不及格");}// for 循环for (int i = 1; i <= 5; i++){Systemoutprintln("第" + i +"次循环");}// while 循环int j = 1;while (j <= 5) {Systemoutprintln("第" + j +"次 while 循环");j++;}// dowhile 循环int k = 1;do {Systemoutprintln("第" + k +"次 dowhile 循环");k++;} while (k <= 5);}}```数组:```javapublic class ArrayExample {public static void main(String args) {//一维数组int numbers ={1, 2, 3, 4, 5};for (int num : numbers) {Systemoutprintln(num);}//二维数组int matrix ={{1, 2, 3},{4, 5, 6},{7, 8, 9}};for (int row : matrix) {for (int num : row) {Systemoutprint(num +"");}Systemoutprintln();}}}```2、面向对象编程实践类与对象的定义和使用:```javapublic class Person {private String name;private int age;public Person(String name, int age) {thisname = name;thisage = age;}public void showInfo(){Systemoutprintln("姓名:"+ name +",年龄:"+ age);}public static void main(String args) {Person person1 = new Person("张三", 20);person1showInfo();}}```构造函数与方法重载:```javapublic class ConstructorOverloading {private String name;private int age;public ConstructorOverloading(String name) {thisname = name;}public ConstructorOverloading(String name, int age) {thisname = name;thisage = age;}public void showInfo(){if (age == 0) {Systemoutprintln("姓名:"+ name);} else {Systemoutprintln("姓名:"+ name +",年龄:"+ age);}}public static void main(String args) {ConstructorOverloading person1 = new ConstructorOverloading("张三");person1showInfo();ConstructorOverloading person2 = new ConstructorOverloading("李四", 25);person2showInfo();}}```封装、继承与多态:```java//父类class Animal {private String name;public Animal(String name) {thisname = name;}public void eat(){Systemoutprintln(name +"正在吃东西");}}//子类继承父类class Dog extends Animal {public Dog(String name) {super(name);}public void bark(){Systemoutprintln(name +"在叫");}}public class InheritancePolymorphism {public static void main(String args) {Animal animal = new Dog("小黑");animaleat();//向下转型为 Dog 类型调用 bark 方法if (animal instanceof Dog) {Dog dog =(Dog) animal;dogbark();}}}```抽象类与接口:```java//抽象类abstract class Shape {abstract void draw();}//实现抽象类的子类class Circle extends Shape {@Overridevoid draw(){Systemoutprintln("画一个圆");}}//接口interface Moveable {void move();}//实现接口的类class Car implements Moveable {@Overridepublic void move(){Systemoutprintln("汽车在移动");}}public class AbstractInterfaceExample {public static void main(String args) {Shape shape = new Circle();shapedraw();Moveable car = new Car();carmove();}}```3、 Java 常用类库应用String 类与字符串操作:```javapublic class StringOperation {public static void main(String args) {String str1 ="Hello, ";String str2 ="World!";String str3 = str1 + str2;Systemoutprintln(str3);int length = str3length();Systemoutprintln("字符串长度:"+ length);char charAt = str3charAt(5);Systemoutprintln("第 5 个字符:"+ charAt);boolean contains = str3contains("World");Systemoutprintln("是否包含 World:"+ contains);}}```集合框架(ArrayList、HashMap):```javaimport javautilArrayList;import javautilHashMap;import javautilMap;public class CollectionFramework {public static void main(String args) {// ArrayListArrayList<String> names = new ArrayList<>();namesadd("张三");namesadd("李四");namesadd("王五");for (String name : names) {Systemoutprintln(name);}// HashMapHashMap<String, Integer> ages = new HashMap<>();agesput("张三", 20);agesput("李四", 25);agesput("王五", 30);for (MapEntry<String, Integer> entry : agesentrySet()){Systemoutprintln(entrygetKey()+"的年龄是" +entrygetValue());}}}```文件输入输出(File、FileReader、FileWriter):```javaimport javaioFile;import javaioFileReader;import javaioFileWriter;import javaioIOException;public class FileIOExample {public static void main(String args) {//写入文件try (FileWriter writer = new FileWriter("outputtxt")){writerwrite("这是写入文件的内容");} catch (IOException e) {eprintStackTrace();}//读取文件try (FileReader reader = new FileReader("outputtxt")){int character;while ((character = readerread())!=-1) {Systemoutprint((char) character);}} catch (IOException e) {eprintStackTrace();}}}```五、实验结果与分析1、 Java 基本语法练习变量与数据类型:能够正确定义和使用各种数据类型的变量,并进行基本的运算和输出。

java 文件与数据流报告

java 文件与数据流报告

文件与数据流实习报告一文件的性质:(1用来长期保存大量的数据在程序结束后长期(永久)存在,件一般位于外存储设备上(硬盘、光盘、磁带)比较:内存中的变量或数组中的数据是临时性数据,程序结束时就会丢失。

(2)位流:计算机中的数据是以0与1的方式存储在两个装置间存取数据, 以1或0的方式进行,ava将数据在目的地与来源之间的流动抽象化为一个流,即位流。

(3)数据流:数据流是一系列的数据,循环处理每个数据单元,直到遇到结束符或出现异常(Exception)。

二输入输出流:Java中输入输出流主要分为字节流和字符流。

所有字节流都继承java.io.InputStream ,和java.ioOutputStream它们两个都是抽象类。

(1)输入字节流:a 所有字节流都继承java.io.InputStream .b 类InputStream的成员方法read( )读入单个无符号字节(unsigned byte)的数据,并返回一个整数类型(int)的值(与读入的无符号字节数据相对应)正常返回: 介于0和255之间的一个数如果遇到数据流结束,则返回-1c public int read(byte[ ] data) throws IOException 和public int read(byte[ ] data, intoffset, int length) throws IOException的用法。

read(byte[ ] data) t从输入流中读取一定数量的字节,并将其存储在缓冲区数组data 中。

以整数形式返回实际读取的字节数。

在输入数据可用、检测到文件末尾或者抛出异常前,此方法一直阻塞。

如果data 的长度为0,则不读取任何字节并返回0;否则,尝试读取至少一个字节。

如果因为流位于文件末尾而没有可用的字节,则返回值-1;否则,至少读取一个字节并将其存储在data 中。

read(byte[ ] data, int offset, int length)是将长度是从offset开始读length个字节。

Java实验报告

Java实验报告

引言概述:Java实验报告(二)是对Java编程语言的实验进行的总结与分析。

本文将通过对实验过程中的操作和结果进行详细阐述,对Java的特性和应用进行深入探索,以及提供了一系列实验结果和实验过程中的问题及解决方案。

本文共分为引言概述、正文内容、总结三个部分。

正文内容:一、Java语言基础1.1Java的历史和特点1.2Java语言的基本特性1.3Java的运行机制1.4Java的数据类型和变量1.5Java中的运算符和表达式二、控制流语句与循环结构2.1条件控制语句2.2循环结构2.3跳转语句三、面向对象编程3.1类与对象3.2封装、继承与多态3.3抽象类与接口3.4异常处理3.5文件操作与IO流四、Java核心技术4.1Java集合框架4.2多线程编程4.3网络编程4.4GUI开发4.5数据库连接和操作五、Java应用案例分析5.1图书管理系统5.2学生信息管理系统5.3电子商务系统5.4银行管理系统5.5在线聊天程序总结:在Java实验报告(二)中,我们系统地学习了Java语言的基础知识、控制流语句与循环结构、面向对象编程、Java核心技术以及Java应用案例分析。

通过实验和实践,我们提高了对Java编程语言的理解和应用能力,为今后的学习和工作奠定了坚实的基础。

希望通过这次实验报告的撰写,能够对读者们对Java编程语言有更全面和深入的认识,激发对于编程的兴趣和灵感。

引言:Java是一种面向对象的编程语言,具有跨平台、高性能和可靠性等优点。

本文将对Java实验进行详细报告,包括实验目的、实验方法、实验结果及分析、问题和解决方案等方面。

概述:本次实验旨在通过编写Java程序,加深对Java语言及其相关知识的理解和掌握。

实验主要分为五个大点,包括环境搭建、基本语法、面向对象编程、异常处理和文件操作。

每个大点将分别进行详细阐述。

正文内容:1.环境搭建1.1安装JDK1.2配置环境变量1.3设置IDE2.基本语法2.1数据类型2.2变量和常量2.3运算符2.4控制语句2.5循环语句3.面向对象编程3.1类和对象3.2继承3.3多态3.4封装3.5接口和抽象类4.异常处理4.1异常的概念4.2异常处理机制4.3trycatch语句4.4finally语句4.5自定义异常5.文件操作5.1文件的读写5.2文件的创建和删除5.3文件的复制和移动5.4文件的压缩和解压缩5.5文件的读写性能优化实验结果及分析:通过实验,我们成功搭建了Java开发环境,并学习了Java的基本语法、面向对象编程、异常处理和文件操作等知识。

java实验报告实验报告java实验报告Java

java实验报告实验报告java实验报告Java

java实验报告实验报告java实验报告Java一、实验目的本次实验的目的是熟悉Java语言,了解Java程序结构,掌握Java程序的开发流程,加深对Java语言特性的认识和理解。

二、实验内容本次实验内容为设计一个简单的Java程序,包括设计程序的需求分析、设计方案、编写代码、测试运行结果等环节。

三、实验分析3.1 需求分析设计一个Java程序,要求该程序能够实现以下功能:1. 用户可以输入两个数,程序可以对这两个数进行加、减、乘、除的操作,并输出运算结果。

2. 用户可以输入一个字符串,程序可以对该字符串进行反转输出。

3.2 设计方案根据需求分析,我们可以先设计一个简单的界面,包括输入框、选择运算符号的下拉框,以及一个按钮,当用户输入完毕后点击按钮即可进行相应的操作。

3.3 编写代码根据设计方案,我们先编写一个简单的界面代码:import java.awt.*;import javax.swing.*;public class Calculator extends JFrame {private JTextField text1, text2, text3;private JComboBox<String> combo;private JButton calcBtn, reverseBtn, factBtn;public Calculator() {super("Calculator");text1 = new JTextField(5);text2 = new JTextField(5);text3 = new JTextField(10);combo = new JComboBox<String>(new String[]{"+", "-", "*", "/"});calcBtn = new JButton("Calculate");reverseBtn = new JButton("Reverse");factBtn = new JButton("Factorial");JPanel panel2 = new JPanel();panel2.add(new JLabel("String:"));panel2.add(text3);panel2.add(reverseBtn);pack();setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}该界面中包含了3个面板,一个用于加减乘除,一个用于字符串反转,一个用于阶乘操作。

java实验报告

java实验报告

java实验报告Java实验报告。

一、实验目的。

本实验旨在通过对Java编程语言的学习和实践,加深对Java语言特性和编程技巧的理解,提高编程能力和解决问题的能力。

二、实验内容。

1. 学习Java语言的基本语法和数据类型;2. 掌握Java语言的流程控制和函数调用;3. 熟悉Java语言的面向对象编程特性;4. 实践Java语言的异常处理和文件操作;5. 编写一个简单的Java程序,实现特定的功能。

三、实验过程。

在实验过程中,首先我通过阅读相关的教材和资料,系统地学习了Java语言的基本语法、数据类型、流程控制和函数调用。

然后,我深入理解了Java语言的面向对象编程特性,包括类、对象、继承、多态等概念,并通过实例加深了对这些概念的理解和掌握。

接着,我学习了Java语言的异常处理和文件操作,了解了如何在Java程序中处理异常和进行文件的读写操作。

最后,我根据所学知识,编写了一个简单的Java程序,实现了一个特定的功能,通过实际的编程实践,巩固了所学知识,提高了编程能力。

四、实验结果。

经过一段时间的学习和实践,我成功地完成了实验要求,掌握了Java语言的基本语法和编程技巧,能够熟练地编写简单的Java程序,并且对Java语言的面向对象编程特性、异常处理和文件操作有了较为深入的理解和掌握。

五、实验总结。

通过本次实验,我深刻地认识到了学习和实践的重要性。

只有通过不断地学习和实践,才能够真正地掌握知识和技能。

在今后的学习和工作中,我将继续努力,不断地学习和实践,提高自己的编程能力和解决问题的能力,为将来的发展打下坚实的基础。

六、致谢。

在此,我要感谢老师和同学们在学习和实践中给予我的帮助和支持,没有你们的帮助和支持,我无法顺利地完成本次实验。

同时,我也要感谢自己的努力和坚持,是你们让我不断地成长和进步。

以上就是本次实验的全部内容,谢谢阅读!。

java课实验报告-文件与数据流

java课实验报告-文件与数据流

文件与数据流一.实验目的:1.掌握输入输出流类的层次关系和类中的方法2.输入输出流类的编程方法二、实验内容:1.从输入或输出流类或子类创建输入或输出流对象.2.利用输入或输出流对象的方法读或写文件。

三.实验内容:1.从键盘上输入10个整数,然后将它们从小到大排序并写入文件c1.txt,然后将文件中的内容读出,输出到屏幕上。

程序如下:import java.io.*;import java.util.Scanner;public class FileIOStream {public static void main(String[] args) throws IOException { int temp = 0;int[] s=new int[10];String str="";Scanner sc = new Scanner(System.in);FileOutputStream out=new FileOutputStream("c1.txt");PrintStream p=new PrintStream(out);System.out.print("请连续输入10个整数:");for(int i =0;i<s.length;i++){s[i]=sc.nextInt();}for(int i=0;i<s.length;i++){str=s[i]+"";}byte b[]=str.getBytes();out.write(b);out.flush();out.close();for (int i = 0; i < s.length-1; i++) {for (int j = 0; j < s.length - i - 1; j++) {if (s[j] > s[j + 1]) {temp = s[j];s[j] = s[j + 1];s[j + 1] = temp;}}}System.out.println("10个数字从小到大排列:");for (int i = 0; i <s.length; i++) {System.out.print(s[i]+",");}}}运行结果:C1.txt文档内容:2.将文件f1.txt的内容加密(加密算法自己设计)后存放到f2.txt中。

java实验报告

java实验报告

java实验报告一、实验目的本次实验的目的是深入了解Java的基本语法和面向对象编程的思想。

通过实践,掌握Java的常用工具和类库,并能熟练使用Java进行编程和调试。

二、实验内容1.环境搭建在本次实验中,我们使用Eclipse作为Java的开发工具,需要安装JDK环境和相关插件。

安装完毕后,我们需要进行相关配置,如添加JDK环境变量,设置Eclipse编译选项等。

2.基本语法和数据类型Java的基本语法和数据类型是Java编程的基础,需要掌握Java的变量、运算符、流程控制语句等基本知识。

在实验中,我们将会练习Java的语法和数据类型的使用,如输出文本、计算数值、定义变量等。

3.面向对象编程思想Java是一门面向对象的编程语言,面向对象思想是Java编程的核心。

在本次实验中,我们将学习Java的类、对象、继承、多态等面向对象的知识,并通过实践来理解和熟悉Java面向对象编程的思想。

4.常用类库和工具Java有丰富的类库和工具,如集合类、IO类、网络编程类等。

在本次实验中,我们将会了解并运用Java的常用类库和工具来实现一些简单的功能,如读写文件、网络通信等。

三、实验步骤1.环境搭建与配置安装JDK环境和Eclipse开发工具,并将JDK环境添加到系统环境变量中。

然后进入Eclipse,设置编译选项和相关插件,如Java自动补全、eclipse编译和调试工具等。

2.基本语法和数据类型基于Java的基本语法和数据类型,我们可以编写一些简单的程序,如输出HelloWorld、计算数字和变量赋值等。

这些程序可以通过Eclipse自带的编译器进行调试和运行。

3.面向对象编程思想通过学习Java的面向对象编程思想,我们可以定义一个类和对应的对象,使用继承和多态来实现复杂的业务逻辑,并使用接口和内部类等技术来封装数据和实现较复杂的功能。

4.常用类库和工具在实践中,我们会用到常用的类库和工具,如java.io包和包。

java实验报告完整版

java实验报告完整版

实验报告(计算机与信息工程学院实验中心)学期:2014-2015课程名称:《Java程序设计实验》班级:信息1202*名:***学号:**********指导老师:***《Java程序设计》独立实验教学安排一、实验的教学方式、安排及实验环境(一)教学方式对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。

实验十二的内容由学生自行设计完成。

(二)教学安排学时数:30课时学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。

(三)实验环境实验环境为JDK 1.6。

(四)具体安排地点:信息大楼实验室。

辅导:每个班次一名辅导老师,原则上由任课老师担任。

登记:实验完成,由辅导老师登记实验纪录。

学生:实验做完,完成实验报告内容,并在学期末上交实验册。

老师:批改实验,成绩与平时成绩一起占期末的30%。

二、实验的具体内容和要求见实验报告。

浙江工商大学计算机与信息工程学院实验报告(1)日期:地点:成绩:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验原理和内容:一、实验目的:熟悉Java开发环境及简单程序Java设计。

二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。

三、实验内容及要求:1.下载、安装并设置Java SDK 软件包。

2.熟悉Eclipse编辑软件。

3.掌握运行Java 程序的步骤。

4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。

要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。

程序一public class hello {public static void main(String[] args) {for(int i=0;i<=4;i++){System.out.println("Hello java! 欢迎使用!");}}}结果示意图1存在的问题1、JA VA 存在大小写,因为system没有区分大小写所以出现编译错误。

java实验报告书3

java实验报告书3

(2)首先执行try中语句,根据int a=args.length;语句得出输入的a的值即为数组c[]的长度。

(3)执行输入语句,a的值22,即数组c[]的长度为22.(4)执行int b=42/a;语句,因为a不为0,所以没有发生运行异常。

(5)继而执行int c[]={1};语句,定义一个数组c[],并初始化c[0]=1;没有发生运行异常。

(6)再执行c[42]=99;语句,因为数组长度只有22,没法达到42,所以发生运行异常,抛出ArrayIndexOutOfBoundsException类错误(即数组越界错误),跳出try语句。

(7)Catch语句中捕获到异常ArrayIndexOutOfBoundsException类错误,所以对错误语句进行处理,即输出越界数组的下标。

(8)结束程序。

二.使用throw语句抛出异常1.throw语句的作用在上面的实验中,可以发现,异常对象是Java运行时由系统抛出的。

抛出异常也可以通过使用throw语句实现。

throw是Java语言的关键字,用来告知编译器此处要发生一个异常。

throw后面要跟一个新创建的异常类对象,用于指出异常的名称和类型。

throw语句格式为:<throw><new><异常对象名()>;程序会在throw语句处立即终止,转向try…catch寻找异常处理方法,不再执行throw 后面的语句。

2.throw语句的使用运行结果:分析:(1)程序从main()函数入口,执行main()函数中的try...catch语句。

(2)首先执行try语句,调用throwProcess()函数。

(3)在throwProcess()函数中调用try...catch语句。

在try语句中,用throw语句抛出异常对象NullPointerException("空指针异常")。

(4)在catch语句中,通过对象捕获到异常语句对其进行操作。

JAVA实验报告

JAVA实验报告

日期:2018年5月地点:明向校区公共机房6(1)实验题目,实验原理和内容一、实验目的:JAVA结构化程序设计二、实验原理:声明不同数据类型的变量,使用关系运算符和逻辑运算符,使用表达式语句与复合语句,使用选择语句,使用循环语句。

实验内容及要求:1、题目1:编写程序,实现从键盘输入一个0到100之内的整数,把百分制分数到等级分数的转换////>=90 A// 80~89 B// 70~79 C// 60~69 D// <60 E2、成法口诀阵形3、华氏和摄氏的转换法4、.从键盘输入10个数,排序输出。

要求:请同学们把调试好的程序及运行结果、存在的问题写在下面(不够可以附页)。

1、package test1;import java.util.*;public class TEST1 {public static void main(String[] args){System.out.println("请输入一个0到100之间的整数");Scanner scanner=new Scanner(System.in);int x;int m=scanner.nextInt();x=m/10;switch(x){ case 9: System.out.println("A");break;case 8: System.out.println("B");break;case 7: System.out.println("C");break;case 6: System.out.println("D");break;default: System.out.println("E");break;}}}2、package test2;public class TEST2 {public static void main(String[] args){int num;int m;for(int i=1;i<=9;i++){for(int j=1;j<=i;j++){num=i*j;System.out.print(j+"*"+i+"="+num+ "\t");if(i==j)System.out.println(); }}}}3、package test3;import java.util.*;public class TEST3 {public static void main(String[] args){Scanner scanner=new Scanner(System.in);while(true) {System.out.println("请输入要转换的温度类型:c或f");String a=scanner.nextLine();String num1=new String("c");String num2=new String("f");String num3=new String("exit");if(a.equals(num1)){System.out.println("请输入要转换摄氏的温度:..");double C=scanner.nextFloat();System.out.println("对应的华氏温度为:");System.out.println(32+C*1.8+"F");}if(a.equals(num2)){System.out.println("请输入要转换华氏的温度:..");double F=scanner.nextFloat();System.out.println("对应的摄氏温度为:"+"C");System.out.println((F-32)/1.8+"C");}if(a.equals(num3)) break;String bank=scanner.nextLine();}}}4、package test4;import java.util.*;public class Test4 {public static void main(String[] args){Scanner scanner=new Scanner(System.in);int m;int[] a=new int[10];for(int i=0;i<=9;i++)a[i]=scanner.nextInt();int temp;for(int i=0;i<10;i++){ for(int j=i+1;j<10;j++){ if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}}for(int x=0;x<=9;x++)System.out.print(a[x]+" ");}}日期:2018年5月地点:明向校区公共机房6(2)实验题目,实验原理和内容一.实验目的:数组、字符串与异常处理二.实验原理:使用数组,使用字符串与字符串类,处理异常。

实验三 文件与数据流 实验报告

实验三 文件与数据流 实验报告

实验三文件与数据流实验报告一、实验目的1. 掌握输入输出流类的层次关系和类中的方法及输入输出流的编程方法。

2. 理解对象序列化。

二、实验要求1. 利用InputStream(抽象类)的子类FileInputStream以及BufferedInputStream类对文件进行读入操作。

BufferedInputStream相对于FileInputStream类而言增加了缓存,减少了IO 操作,在一定程序上提升了程序的性能。

同理,利用OutputStream的子类FileOutputStream 和BufferedOutputStream类进行文件的输出操作。

2. 通过DataInputStream和DataOutputStream对象进行基本数据类型的写入文件和从文件读出的操作。

3. 通过ObjectInputStream和ObjectOutputStream可以直接把对象写入到文件或者从文件中读出。

同时,如果要使对象能够通过这个类写入到文件中,这个类需要实现Serializable 接口。

三、实验内容1. 将文件f1.txt的内容加密(字母’A’ 变为’C’,字母’B’ 变为字母‘D’,…,字母‘Z’ 变为’B’)后存放到f2.txt中。

读出f2.txt文件的内容,并显示解密后的内容。

import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;public class FileExperiment00 {public static void main(String[] args) {try {encrypt();decrypt();} catch (Exception e) {e.printStackTrace();}}public static void encrypt() throws Exception {File f1 = new File("f1.txt");File f2 = new File("f2.txt");if (!f1.exists()) {System.out.println("文件不存在");return;}if (!f2.exists()) {f2.createNewFile();}FileInputStream in = new FileInputStream(f1);BufferedInputStream bis = new BufferedInputStream(in);FileOutputStream out = new FileOutputStream(f2);BufferedOutputStream bos = new BufferedOutputStream(out);int b;while ((b = bis.read()) != -1) {bos.write(Encrypt.encrypt((byte) b));}bos.close();bis.close();}public static void decrypt() throws Exception {File file = new File("f2.txt");if (!file.exists()) {System.out.println("文件不存在!");return;}FileInputStream in = new FileInputStream(file);BufferedInputStream bis = new BufferedInputStream(in);byte[] buffer = new byte[2];while (bis.read(buffer) > 0) {buffer[0] = Encrypt.decrypt(buffer[0]);buffer[1] = Encrypt.decrypt(buffer[1]);System.out.print(new String(buffer));}bis.close();}}class Encrypt {public static byte encrypt(byte b) {if ((b >= 65 && b <= 88) || (b >= 97 && b <= 120)) {return (byte) (b + 2);} else if ((b >= 89 && b <= 90) || (b >= 121 && b <= 122)) { return (byte) (b - 24);} else {return b;}}public static byte decrypt(byte b) {if ((b >= 67 && b <= 90) || (b >= 99 && b <= 122)) {return (byte) (b - 2);} else if ((b >= 65 && b <= 66) || (b >= 97 && b <= 98)) { return (byte) (b + 24);} else {return b;}}}2. 从键盘中输入若干个实数(以-999999.999结束),按大小顺序存放到d1.txt,并从该文件中读取数据,在屏幕上显示(每行输出5个数)import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.EOFException;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.Arrays;import java.util.LinkedList;import java.util.Scanner;public class FileExperiment01 {public static void main(String[] args) {try {getData();readData();} catch (Exception e) {e.printStackTrace();}}public static void readData() throws Exception {File file = new File("d1.txt");DataInputStream in =new DataInputStream(new FileInputStream(file));double d = 0;while (true) {try {d = in.readDouble();System.out.println(d);} catch (EOFException e) {break;}}in.close();}public static void getData() throws Exception {LinkedList<Double> numbers = new LinkedList<Double>();Scanner s = new Scanner(System.in);while (true) {try {double value = s.nextDouble();if (value == -999999.999) {break;}numbers.add(value);} catch (Exception e) {throw new RuntimeException(e);}}double[] array = new double[numbers.size()];for (int i = 0; i < array.length; i++) {array[i] = numbers.get(i);}Arrays.sort(array); // 系统自带的 sort 方法进行排序DataOutputStream out =new DataOutputStream(new FileOutputStream(new File("d1.txt")));for (double d : array) {out.writeDouble(d);}if (out != null) {out.close();}}}3. 定义一个学生类(成员变量有学号、姓名和成绩),从键盘输入若干学生的信息(学号为’000’结束),并将学生信息存入到文件stu.txt中。

Java第08次实验(流与文件)

Java第08次实验(流与文件)

Java第08次实验(流与⽂件)参考资料课堂考核:字节流与⼆进制⽂件字符流与⽂本⽂件缓冲流第1次实验0. 字节流与⼆进制⽂件1. 使⽤DataOutputStream与FileOutputStream将Student对象写⼊⼆进制⽂件students.data⼆进制⽂件与⽂本⽂件的区别。

使⽤wxMEdit分析⽣成的students.data。

try...catch...finally注意事项使⽤try..with...resouces关闭资源2. 使⽤DataInputStream与FileInputStream从student.data中读取学⽣信息并组装成Student对象。

可将此功能编写为⼀个⽅法List<Student>readStudetsFromFile(String fileName)。

Student源代码见实验⽂件中的“基础代码”中的Student.java。

1、2为⼀个考核点。

1. 字符流与⽂本⽂件:使⽤ PrintWriter(写),BufferedReader(读)任务:0. ⾸先将Student.txt拷贝到Eclipse项⽬根⽬录(右键点击项⽬-选择paste)。

请不要拷贝到src⽬录。

1. 使⽤BufferedReader从编码为UTF-8的⽂本⽂件中读出学⽣信息,并组装成对象然后输出。

中⽂乱码问题(FileReader使⽤系统默认编码⽅式读取⽂件,会产⽣乱码,可使⽤InputStreamReader解决)String的split⽅法使⽤\\s+可以使⽤多个空格作为分隔符。

进阶:修改Students.txt⽂件,在正确的数据⾏中间增加⼀些错误⾏(如,每⾏只有3个数据,或者应该是数字的地⽅放⼊其他字符),修改⾃⼰的程序,让其可以处理出错的⾏(报错但可以继续运⾏)。

2. 编写public static ListreadStudents(String fileName);从fileName指定的⽂本⽂件中读取所有学⽣,并将其放⼊到⼀个List中然后返回。

java实验报告完整版

java实验报告完整版

java实验报告完整版实验报告(计算机与信息工程学院实验中心)学期:2014-2015课程名称:《Java程序设计实验》班级:信息1202姓名:方逸梅学号:1212100231指导老师:费玉莲《Java程序设计》独立实验教学安排一、实验的教学方式、安排及实验环境(一)教学方式对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。

实验十二的内容由学生自行设计完成。

(二)教学安排学时数:30课时学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。

(三)实验环境实验环境为JDK 1.6。

(四)具体安排地点:信息大楼实验室。

辅导:每个班次一名辅导老师,原则上由任课老师担任。

登记:实验完成,由辅导老师登记实验纪录。

学生:实验做完,完成实验报告内容,并在学期末上交实验册。

老师:批改实验,成绩与平时成绩一起占期末的30%。

二、实验的具体内容和要求见实验报告。

for(int i=0;i<=4;i++){System.out.println("Hello java! 欢迎使用!");}}}结果示意图1存在的问题1、JA V A 存在大小写,因为system没有区分大小写所以出现编译错误。

2、用DOS进入java源程序时,先要用cd转入java源程序所在路径。

程序二import java.awt.Graphics;import java.applet.Applet;public class helloworld extends Applet{public void paint(Graphics g){g.drawString("Hello java! 欢迎使用!",25,25);}}方法1直接将程序二打入到java应用程序中,可调出如下图界面结果示意图2程序三<HTML><HEAD><TILLE> helloworld2</TILLE>></HEAD><BODY><applet code=helloworld width="300" height="200"></applet> </BODY></HTML>该程序是网页的脚本程序,html 文件类型,可直接双击打开。

java课实验报告-文件与数据流

java课实验报告-文件与数据流

文件与数据流一.实验目的:1.掌握输入输出流类的层次关系和类中的方法2.输入输出流类的编程方法二、实验内容:1.从输入或输出流类或子类创建输入或输出流对象.2.利用输入或输出流对象的方法读或写文件。

三.实验内容:1.从键盘上输入10个整数,然后将它们从小到大排序并写入文件c1.txt,然后将文件中的内容读出,输出到屏幕上。

程序如下:import java.io.*;import java.util.Scanner;public class FileIOStream {public static void main(String[] args) throws IOException { int temp = 0;int[] s=new int[10];String str="";Scanner sc = new Scanner(System.in);FileOutputStream out=new FileOutputStream("c1.txt");PrintStream p=new PrintStream(out);System.out.print("请连续输入10个整数:");for(int i =0;i<s.length;i++){s[i]=sc.nextInt();}for(int i=0;i<s.length;i++){str=s[i]+"";}byte b[]=str.getBytes();out.write(b);out.flush();out.close();for (int i = 0; i < s.length-1; i++) {for (int j = 0; j < s.length - i - 1; j++) {if (s[j] > s[j + 1]) {temp = s[j];s[j] = s[j + 1];s[j + 1] = temp;}}}System.out.println("10个数字从小到大排列:");for (int i = 0; i <s.length; i++) {System.out.print(s[i]+",");}}}运行结果:C1.txt文档内容:2.将文件f1.txt的内容加密(加密算法自己设计)后存放到f2.txt中。

实验七 流与文件

实验七  流与文件

桂 林 电 子 科 技 大 学《Java 应用开发》 实 验 报 告实验名称 流与文件计算机科学与工程学院计算机科学与技术专 业 班 第 实 验 小 组 姓 名 学 号 实 验 日 期 2015 年 11 月 24 日实验七 流与文件一、 实验目的1、掌握java 中流的概念和作用。

2、掌握文件读写所使用的相关流(类)。

二、 实验内容1、编写一个Java 程序,能将硬盘上某个文件夹下的一个纯文本文件(如txt 文件)拷贝到另一个指定的文件夹中。

2、假设已经有一个文本文件中存放着职工的工资记录。

每个职工的记录包含姓名、工资、津贴三项。

每条记录可以存放于一行(三项之间的间隔符可以自己决定),也可以将每条记录的三项依次分别存放在文本文件中的每一行。

请设计一个程序,可以让用户选择打开这个文件查看其内容,并可以让用户选择把每个职工的工资增加10%之后又存回原来的文件。

分析与设计 三、 分析与设计FileInputStream in = new FileInputStream ("D :\\1\\java 。

txt”);//被拷贝的文档FileOutputStream out = new FileOutputStream(”D:\\2\\2.txt");//拷贝文档out 。

write (buf , 0, b ); out 。

flush ();InputStream 类该类是所有字节输入流的根类.方法均throws IOExceptionint read () throws IOException 方法的用途是从输入流中读取下一个字节流数据,其返回值是0~255之间的一个整数。

若读到流结束,返回-1,若流中暂时无数据可读,则阻塞.void close()函数可以关闭流并释放系统资源,通常系统对流对象进行垃圾收集时会自动调用此函数。

long skip (long n )方法将输入流中当前读取的位置向后移动n 字节,并返回实际跳过的字节数.void mark(int readlimit)方法是在输入流的当前读取位置作标记,从该位置开始读取指导教师意见: 成绩教 师 签 名readlimit所指的数据后,所做的标记失效。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; public class Encrypt {
public static void main(String[] args) { String outputStr = ""; System.out.print("请输入一个英文单词:"); BufferedReader br = new BufferedReader(newInputStreamReader(System.in)); try { String inputStr = br.readLine(); for(int i=0;i<inputStr.length();i++){ outputStr = outputStr + changeLetter(inputStr.charAt(i)); } byte b1[]=inputStr.getBytes(); FileOutputStream f1=new FileOutputStream("f1.txt"); f1.write(b1); f1.flush(); f1.close(); byte b2[]=outputStr.getBytes(); FileOutputStream f2=new FileOutputStream("f2.txt"); f2.write(b2); f2.flush(); f2.close(); } catch (IOException e) { e.printStackTrace(); }
System.out.println(outputStr); } public static char changeLetter(char c){
int letter = c; char character = 0; if(c>=65&&c<=90){
character = (char)(90-(letter-65)); } if(c>=97&&c<=122){
for (int i = 0; i < s.length-1; i++) { for (int j = 0; j < s.length - i - 1; j++) { if (s[j] > s[j + 1]) { temp = s[j]; s[j] = s[j + 1]; s[j + 1] = temp;
} } } System.out.println("10个数字从小到大排列:"); for (int i = 0; i <s.length; i++) {
System.out.print(s[i]+","); } } } 运行结果:
C1.txt 文档内容:
2.将文件 f1.txt 的内容加密(加密算法自己设计)后存放到 f2.txt 中。读 出 f2.txt 文件的内容,并显示解密后的内容。 程序如下:
character = (char)(122-(letter-97)); } return character; } } 运行结果:
F1.txt 文档内容:
F2.txt 文档内ቤተ መጻሕፍቲ ባይዱ:
成功把输入的英文单词 apple(苹果)加密成 zkkov; 四、实验结论:
通过认真编写程序及耗费大量时间的修改,成功完成了实验要求,加深了我 对文件与数据流这一知识块的掌握,对文件的读写操作有了进一步的理解,在编 程的同时也感觉到了无比的快乐,我会保持这份学习的热情并积极完成每次的上 机实验要求的。
import java.io.*; import java.util.Scanner; public class FileIOStream {
public static void main(String[] args) throws IOException { int temp = 0; int[] s=new int[10]; String str=""; Scanner sc = new Scanner(System.in); FileOutputStream out=new FileOutputStream("c1.txt"); PrintStream p=new PrintStream(out); System.out.print("请连续输入10个整数:"); for(int i =0;i<s.length;i++){ s[i]=sc.nextInt(); } for(int i=0;i<s.length;i++){ str=s[i]+""; } byte b[]=str.getBytes(); out.write(b); out.flush(); out.close();
文件与数据流
一.实验目的: 1.掌握输入输出流类的层次关系和类中的方法 2.输入输出流类的编程方法
二、实验内容: 1.从输入或输出流类或子类创建输入或输出流对象. 2.利用输入或输出流对象的方法读或写文件。
三.实验内容: 1.从键盘上输入 10 个整数,然后将它们从小到大排序并写入文件 c1.txt, 然后将文件中的内容读出,输出到屏幕上。 程序如下:
相关文档
最新文档