当前位置:文档之家› JAVA抽象类实验代码

JAVA抽象类实验代码

JAVA抽象类实验代码
JAVA抽象类实验代码

1.抽象类(注:前5个类的主函数没有测试,直接在最后一个测试类中测试的) (1)package com.drawing;

public abstract class Shape {

abstract void draw();

}

(2)package com.drawing;

public class Point extends Shape{

private int x;

private int y;

public Point(int x,int y)

{

super();

this.x=x;

this.y=y;

}

public Point()

{

this.x=0;

this.y=0;

}

public int getX() {

return x;

}

public void setX(int x) {

this.x = x;

}

public int getY() {

return y;

}

public void setY(int y) {

this.y = y;

}

public void draw()

{

System.out.println("Point is drawing!");

}

public void print()

{

System.out.println("x="+x+" y="+y);

}

public static void main(String[] args) {

}

}

(3)package com.drawing;

public class Line extends Shape{

private Point pStart=null;

private Point pEnd=null;

public Line(Point pStart,Point pEnd)

{

super();

this.pStart=pStart;

this.pEnd=pEnd;

}

public Line()

{

super();

}

public Point getpStart() {

return pStart;

}

public void setpStart(Point pStart) {

this.pStart = pStart;

}

public Point getpEnd() {

return pEnd;

}

public void setpEnd(Point pEnd) {

this.pEnd = pEnd;

}

public String toString()

{

return"Line:"+pStart.toString()+pEnd.toString();

}

public void draw()

{

System.out.println("Line is drawing!");

}

public void print()

{

System.out.println("pStart:"+pStart.getX()+","+pStart.getY()+";pEnd:"+pEnd.g etX()+","+pEnd.getY());

}

public boolean equals(Object o)

{

if(this==o)

return true;

if(o==null)

return false;

if(o.getClass()!=this.getClass())

return false;

else

{

Line l=(Line)o;

if(l.pStart==this.pStart&&l.pEnd==this.pEnd)

{

return true;

}

else

return false;

}

}

public double distance()

{

return

Math.sqrt((pStart.getX()-pEnd.getX())*(pStart.getX()-pEnd.getX())+(pStart.getY( )-pEnd.getY())*(pStart.getY()-pEnd.getY()));

}

public static void main(String[] args)

{

}}

(4)package com.drawing;

public class Circle extends Shape{

private Point center=null;

private double radius=0;

public Circle(Point center,double radius)

{

super();

this.center=center;

this.radius=radius;

}

public Circle()

{

super();

}

public void draw()

{

System.out.println("Center is drawing!");

}

public String toString()

{

return

"center:"+"("+center.getX()+","+center.getY()+")"+","+"radius:"+radius;

}

public void print()

{

System.out.println("center is

"+"("+center.getX()+","+center.getY()+")"+";"+"radius is:"+radius);

}

public double area()

{

return Math.PI*radius*radius;

}

public double circurmference()

{

return Math.PI*radius*2;

}

public static void main(String[] args)

{

}}

(5)package com.drawing;

public class Rectangle extends Shape {

private Point pLefttop=null;

private Point pRightbottom=null;

public Rectangle(Point pLefttop, Point pRightbottom) {

super();

this.pLefttop = pLefttop;

this.pRightbottom = pRightbottom;

}

public Rectangle() {

super();

}

public Point getpLefttop() {

return pLefttop;

}

public void setpLefttop(Point pLefttop) {

this.pLefttop = pLefttop;

}

public Point getpRightbottom() {

return pRightbottom;

}

public void setpRightbottom(Point pRightbottom) {

this.pRightbottom = pRightbottom;

}

public void draw()

{

System.out.println("Rectangle is drawing!");

}

public boolean equals(Object o)

{

if(this==o)

return true;

if(o==null)

return false;

if(o.getClass()!=this.getClass())

return false;

else

{

Rectangle e=(Rectangle)o;

if(e.getpLefttop().equals(this.pLefttop) &&

e.getpRightbottom().equals(this.pRightbottom))

{

return true;

}

else

return false;

}

}

public double area()

{

return Math.sqrt

(Math.pow(pLefttop.getX()-pRightbottom.getX(),2))

*Math.sqrt(Math.pow(pLefttop.getY()-pRightbottom.getY(),2));

}

public double circurmference()

{

return

Math.abs(pLefttop.getX()-pRightbottom.getX())*2+Math.abs(pLefttop.getY()-pRight bottom.getY())*2;

}

public static void main(String[] args)

{

}

}

(6)package com.drawing;

public class Test {

public static void main(String[] args) {

Point p=new Point(1,2);

p.print();

p.draw();

Point p4=new Point(5,3);

Point p5=new Point(3,4);

Line line=new Line(p4,p5);

Line l1=new Line(new Point(5,3),new Point(3,4));

line.draw();

line.print();

Shape s=line;

s=new Point(5,9);

((Point)s).print();

System.out.println(line.equals(l1));

System.out.println("Diatance is :"+line.distance());

Point p1=new Point(1,1);

Circle c1=new Circle(p1,2);

Circle c2=new Circle(new Point(0,1),3);

c1.print();

System.out.println(c1);

c1.draw();

System.out.println("area is :"+c1.area());

System.out.println("circurmference is :"+c1.circurmference());

Shape s1=new Circle(new Point(3,2),4);

((Circle)s1).print();

System.out.println(c1.equals(c2));

}

}

运行结果:

x=1 y=2

Point is drawing!

Line is drawing!

pStart:5,3;pEnd:3,4

x=5 y=9

false

Diatance is :2.23606797749979

center is (1,1);radius is:2.0

center:(1,1),radius:2.0

Center is drawing!

area is :12.566370614359172

circurmference is :12.566370614359172

center is (3,2);radius is:4.0

false

2.定时器

import java.awt.event.*;

import java.util.*;

import javax.swing.*;

import javax.swing.Timer;

public class TimePrinter implements ActionListener

{

public void actionPerformed(ActionEvent event)

{

System.out.println("Hello Curreat Data is:"+new Date()); }

public static void main(String[] args)

{

ActionListener listener=new TimePrinter();

Timer t=new Timer(2000, listener);

t.start();

JOptionPane.showConfirmDialog(null, "exit");

System.exit(0);

}

}

运行结果:

Hello Curreat Data is:Thu May 19 19:13:18 CST 2011

Hello Curreat Data is:Thu May 19 19:13:20 CST 2011

Hello Curreat Data is:Thu May 19 19:13:22 CST 2011

Hello Curreat Data is:Thu May 19 19:13:24 CST 2011

Hello Curreat Data is:Thu May 19 19:13:26 CST 2011

Hello Curreat Data is:Thu May 19 19:13:28 CST 2011

等等... ...

3.星期接口

public interface Weekend {

public enum Week

{

SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY

}

}

public class WeekTest implements Weekend{

public static void main(String[] args) {

Week w=null;

w=Week.MONDAY;

System.out.println("Today is "+w+"!");}

运行结果:

Today is MONDAY!

Java集合框架实验报告

浙江大学城市学院实验报告 课程名称Java高级程序设计 实验项目名称Java集合框架实验 学生姓名专业班级学号 一、实验目的 1.理解Java集合框架的特点、接口与类之间的关系 2.掌握Java集合框架的List接口,以及List接口的重要实现类LinkedList、ArrayList 3.掌握Java集合框架的Set、SortedSet接口,以及重要实现类HashSet与TreeSet 4.掌握Java集合框架的Map、SortedMap接口及其重要实现类HashMap、TreeMap 5.掌握Java集合框架的Collection与Iterator接口的特点与使用方式 二、实验内容 1、使用List管理对象集合 2、使用Map管理对象集合 3、使用Set管理对象集合 4、设计一个自定义的集合类 三、实验步骤 1、在Eclipse中新建工程(即项目) 2、使用List管理对象集合 1)新建一个包listExample 2)在这个包中新建三个类:Student类,StudentList类,StudentListTest类。 参考代码: Student、java, StudentList、java,StudentListTest、java 3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序, 给出具体的实现代码(不使用泛型类)。

void addStudent(Student student){//添加一个学生对象 boolean a=true; for(int i=0;i

JAVA洗衣机仿真程序实验报告及代码

一.实验题目:用java编写洗衣机仿真程序 二.实验目的: 1.熟悉并掌握洗衣机(全自动)的工作原理和运行过程. 2.学会软件工程设计中的一系列分析研究,对需求分析,可行性研究,软件 模型等有一定的了解,为以后的软件设计工作打下良好的基础。 3.通过的洗衣机仿真系统的编写与学习,加深了对Java这门语言的了解, 对其中的类的设计,类之间的关系,界面的设计(按钮及布局的设计)有了更深的了解与体会,为Java的学习做好准备工作。 三.实验要求: 了解全自动洗衣机的简单工作过程及实现。其中包括,洗衣的方式(标准或是柔和)、洗衣中的水位选择(高水位洗衣、低水位洗衣等)等方面需要在人们将衣服放入洗衣机洗衣服之后手动来选择;并且是必须选择的洗衣参数。当选择了一种洗衣参数后,按下启动按钮,洗衣机就会自动完成洗衣服的整个过程。在满足基本功能以外,还需要尽量考虑外观、造型、节水等方面的设计,符合人机界面的基本要求。 四.实验分析: 1.洗衣机需求分析: 标准清洗:浸泡/清洗/甩干 快速清洗:清洗/甩干 大件衣物(冬衣,牛仔类):浸泡(温水,延长浸泡/清洗(延长筒转时间)/甩干床单,窗帘类:浸泡(温水)/清洗 根据衣物的不同用按钮选择上述洗衣模式即可.其中甩干可选可不选. 尽量设计了一个节水功能,可以实现水回收.在无需甩干时水不流走,余下的水可做其他用途,实现节水. 2.主要的类实现 (1).继承类 (2).包括进水,排水,洗涤,漂洗,甩干等成员函数 (3).水位的选择通过参数传递决定进水函数 (4).其余通过调用筒的转动函数(run)并通过一定的参数控制实现

3.程序设计步骤 ≡≥选择水温 ≡≥放入衣物 ≡≥选择洗衣模式 ≡≥脱水 ≡≥排水 ≡≥烘干 ≡≥关闭 五.设计与实现过程: 1.洗衣机类的部分实现: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Washing extends JApplet{ private JFrame jf; private JButton jb1,jb2,jb3,jb4,jb5,jb6; public static void main(String[] args){ Washing flowTest=new Washing(); flowTest.setSize(270,160); flowTest.go(); //flowTest.show(true); } public void go(){ jf=new JFrame("洗衣机功能模拟器"); Container cp=jf.getContentPane(); cp.setLayout(null); jb1=new JButton("入水"); jb2=new JButton("加衣"); jb3=new JButton("脱水"); jb4=new JButton("排水"); jb5=new JButton("烘干"); jb6=new JButton("关闭"); // Container cp=jf.getContentPane(); // cp.setLayout(new BorderLayout()); jb1.setBounds(10, 10, 80, 80); cp.add(jb1); //指定组件追加到这个容器的末尾。这是一个方便的方法为addImpl。 //注意:如果一个组件已被添加到一个已显示的容器,验证必须在该容器调用,以显示新的组件。如果正在添加多个组件,你可以通过调用验证只有一次,已添加的所有组件后提高效率。 jb2.setBounds(110, 10, 80, 80); cp.add(jb2);

java 实验七 对象集合 实验报告

实验七对象集合的组织 实验目标: 1.了解Collection、List、Set、Map等常用数据结构的层次结构 2.掌握LinkList、Vector、ArrayList、HashTable、HashMap等类的用法 3.掌握Enumeration(枚举)及Iterator(迭代器)的遍历用法 4.了解自学HashSet、TreeSet这两个Set接口下的重要实现类 5.了解自学比较器接口 实验任务: 1. 填空 List 接口的特点是元素__有__(有|无)顺序,___可以___(可以|不可以)重复; Set 接口的特点是元素__无___(有|无)顺序,__不可以____(可以|不可以)重复; Map 接口的特点是元素是键、值对象,其中__键__可以重复,_值对象__不可以重复 2. (List)有如下代码: import java.util.*; public class TestList{ public static void main(String args[]){ List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(1, “Learn”); list.add(1, “Java”); printList(list); } public static void printList(List list){ //1 } } 要求: 1) 把//1 处的代码补充完整,要求输出list 中所有元素的内容,请使用三种方式来实现(课本227页,Iterator、增强for循环,普通循环)。 2) 三种代码与执行结果截图 1、用Iterator实现的代码如下: package zi; import java.util.*; publicclass Ex7_2{ publicstaticvoid main(String args[]){ List list = new ArrayList(); list.add("Hello"); list.add("World"); list.add(1, "Learn");

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类实验(实习)日期 10.17 得分指导教师刘文杰院计算机与软件学院专业软件工程年级 2017级班次 1 姓名张成学号20171344024 1.实验目的: 1)熟练MyEclipse工具的使用与调试; 2)掌握Java类、方法和变量的定义和使用; 3)熟悉方法重载和覆盖、掌握this和supper关键字使用; 4)掌握4类访问控制符的使用。 2.实验内容: (1)定义一个类Circle,实现其面积计算功能getArea(); (2)编写程序,读入一个正整数并按降序显示它的所有最小因子。(教材第3章习题9)(3)利用多态性编程,实现求三角形、正方形和圆形的面积。(教材第4章习题6) 3.实验步骤 1、 public class Circle { public double radius; public Circle(double r) { radius= r; } public double getArea() { return radius*radius*Math.PI; } public static void main(String[] args) { Circle area1 = new Circle(5); System.out.println("The area is " + area1.getArea()); } }

2、 import java.util.Scanner; public class Read { public static void main(String[] args) { Scanner input =new Scanner(System.in); System.out.print("输入一个正整数:"); int n=input.nextInt(); int []a=new int[n]; int []b=new int[n]; int p,q=0,m=0; for(p=2;p<=n;p++) { while(n%p==0) { n=n/p; if(n!=1) { a[q]=p; q++; } else { a[q]=p; } } } while(q!=-1) { b[m]=a[q]; m++; q--; } for(p=0;p

Java实验报告及其源代码 Java基本程序设计

实验1 Java基本程序设计 一、实验目的 1.掌握设置Java 程序运行环境的方法; 2.了解Java 的数据类型; 3.掌握变量的声明方式; 4.理解运算符的优先级; 5.掌握Java 基本数据类型、运算符与表达式; 6.掌握Java基本输入输出方法。 二、实验环境 1.PC微机; 2.DOS操作系统或 Windows 操作系统; 3.Java sdk程序开发环境、eclipse集成环境。 三、实验内容 1.货币转换 在控制台下输入任意一个美元数值,将其转换成等价的人民币数值(假设100美元=636.99人民币)后在消息框中输出。 2.输出两个数的较大值 分别在两个对话框中输入两个任意的数值,显示其较大的数值。 四、实验步骤 1.新建Java项目,并创建package ; 2.创建两个java类文件,分别命名为 CurrencyConversion.java 和 valueCompare.java ; 3.在 CurrencyConversion.java 中写入代码: package FirstExperiment; import java.util.Scanner;

import javax.swing.JOptionPane; public class CurrencyConversion { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Please input the money(dollar): "); Scanner input = new Scanner(System.in); double moneyOfDollar = input.nextDouble(); double moneyOfRMB = moneyOfDollar * 6.3699 ; String output = "$" + moneyOfDollar + "=" + "¥" + moneyOfRMB ; JOptionPane.showMessageDialog(null, output); } } 4.在 valueCompare.java 中写入代码: package FirstExperiment; import javax.swing.JOptionPane; public class valueCompare { public static void main(String[] args) { String stringNumber1 = JOptionPane.showInputDialog("Please input the first number") ; double number1 = Double.parseDouble(stringNumber1) ; String stringNumber2 = JOptionPane.showInputDialog("Please input the second number") ; double number2 = Double.parseDouble(stringNumber2); if(number1 > number2) JOptionPane.showMessageDialog(null, number1 + " is bigger"); else

JAVA实验报告-集合框架与泛型机制

Java 语言程序设计 C 实验报告 集合框架及泛型机制 学生姓名 专业、班级 指导教师 成绩 计算机与信息工程学院 年月日

一、实验目的 学习课程相关章节知识,通过上机练习,掌握以下知识: 1.掌握 List 接口下 ArrayList 及 LinkedList 的使用方法。 2.掌握 Map 接口下 HashMap 及 HashTable的使用方法 3.掌握集合中泛型的使用 二、实验内容 利用集合完成象数据库那样存储数据,并且可以简单查询,利用 map 存储学生信息,字段如下: id ,name,age,实现步骤: (1)创建类,类图如下: (2)在 main 方法编写逻辑代码 (3)运行程序并测试结果 package https://www.doczj.com/doc/bb12457481.html,; public class Student { private String name ; private int age ; private String id ;

public String getName() { return name ; } public void setName(String name ) { this . name =name ; } public int getAge() { return age ; } public void setAge(int age ) { this. age=age ; } public String getId() { return id; } public void setId(String id) { this. id=id; } public Student(String name ,int age , String id ) { super(); this. name =name ; this. age=age ; this. id=id; } public void sayHi() { System.out.println("name=" +this.getName()+"age=" + this .getAge()+" " + "id=" + this.getId()); } }

操作系统实验报告java

操作系统实验报告 院系: 专业: 班级: 学号: 姓名: 指导老师:

进程调度的模拟与内存管理 一、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就续进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。实验模拟实现处理机调度,以加深了解处理机调度的工作,并体会优先级和时间片轮转调度算法的具体实施方法。帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 二、实验要求 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度。 4、可随时增加进程; 5、规定道数,设置后备队列和挂起状态。若内存中进程少于规定道数,可 自动从后备队列调度一作业进入。被挂起进程入挂起队列,设置解挂功 能用于将指定挂起进程解挂入就绪队列。 6、每次调度后,显示各进程状态。

7、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目内容:起址、长度、状态(未分/空表目) 8、结合以上实验,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置, PCB指针} 9、采用最先适应算法分配主存空间; 10、进程完成后,回收主存,并与相邻空闲分区合并。 11、采用图形界面; 三、实验内容 选择一个调度算法,实现处理机调度。 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 3、主存储器空间的分配和回收。在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。 四、实验原理 该模拟系统采用java语言实现,要实现的功能有新建进程、进程调度、挂起进程、解挂进程、删除进程,道数和时间片大小可以由用户自己调整,有两种调度策略:按优先权调度和按时间片轮转调度。每个进程可能有5种状态:新建(new)、就绪(ready)、运行(running)、阻塞(waiting)、挂起(suspend)。每个状态都有一个队列用来存放处于该状态的进程,不同的调度策略采用不同的队列实现。当创建进程时,如果内存中的进程数还没达到规定道数,则将新建进程插入就绪

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.doczj.com/doc/bb12457481.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

java实验报告(全)

学生学号0120910680526 实验课成绩 武汉理工大学 学生实验报告书 实验课程名称软件工具与环境 开课学院计算机科学与技术学院 指导老师姓名付国江 学生姓名 学生专业班级软件工程0905 2011— 2012学年第1学期

实验课程名称: java语言程序设计 实验项目名称JDK安装与配置、简单的程序编写实验成绩 实验者专业班级软件0905 组别 同组者实验日期年月日第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的: 熟悉JDK的安装、配置和使用,掌握Java Application程序的基本结构。 实验内容: (1)安装JDK,并练习设置JAVA_HOME、path和classpath环境变量; (2)编写一个打印出”HelloWorld”的Java Application程序,并编译运行; 二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或 者算法描述) (1)jdk的安装 (2)”HelloWorld”的编译运行 三、主要仪器设备及耗材 个人计算机,jdk 第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)(1)jdk的安装步骤: 1:双击jdk-6u10-windows-i586.exe安装文件 2:点击接受 3:点击下一步 4:选择JRE路径 5:点击下一步 6:完成 配置环境变量: 1:右键我的电脑,找到属性,高级中的环境变量 2:点击环境变量:3:系统变量针对所有用户,这里找到系统变量中的Path 点击编辑: 3:系统变量针对所有用户,这里找到系统变量中的Path 点击编辑: 4:在变量值末尾打上分号分隔,加入JDK库路径。 点击确定,完成! 5:变量配置好后。 6:测试环境是否好 在控制台中 输入javac指令,能显示参数,说明成功。

实验04 Java输入输出流报告

实验四 Java 输入输出流 1.实验目的 (1) 掌握输入输出流的总体结构; (2) 掌握流的概念; (3) 了解各种流(包括文件流、过滤流、对象的序列化、随机访问)的使用。2.实验内容 实验题1 编写一个Java Application程序,打印命令行输入的所有参数。 [基本要求] 编写完整程序。 运行结果: 代码如下: import java.util.Scanner; public class CommandOutPut { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Please input :"); Scanner in = new Scanner(System.in);

String str = in.nextLine(); System.out.println("The output results :"); System.out.println(str); in.close(); } } 实验题2 通过键盘输入路径,搜索指定路径下的全部内容。 运行结果: 代码如下: package https://www.doczj.com/doc/bb12457481.html,.output; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class Output { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String fileName = "d:\\xxx.txt"; File file = new File(fileName); byte[] b=new byte[(int)file.length()]; FileInputStream out=new FileInputStream(file);

java实验报告实验3答案

实验三熟悉常用java工具包并运用编程 实验目的: 本实验旨在巩固同学们对上课所讲java.util工具包中Collection,List,Set,Map加深理解,对其用法编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。 实验内容: 本实验的内容为:用Collection,List,Set,Map来存储数据,并进行排序,任何用Iterator,ListIterator或者Enumeration来打印其结果(按顺序和降序排列打印)。共分为四部分部分(前三部分必做,如果选第四个,前三个可以不做。。): (1)按顺序把1,10,5,7,6,2,9,20,14,存入到List中(注:允许自己自定义任何数),并对其进行排序,打印其升序和降序排列的结果。然后再向List中位置为第四位插入数35看看会有啥结果?再向List中插入字符串“ddy”,试猜想排序是否会出错?然后看看运行结果是啥? 程序: import java.util.*; public class SY3 { public SY3() { List list=new ArrayList(); list.add(1); list.add(10); list.add(5); list.add(7); list.add(6); list.add(2); list.add(9); list.add(20); list.add(14); list.add(35); list.add("ddy"); System.out.println("原序列:"); for(int i=0;i<=list.size()-1;i++) { System.out.println(list.get(i)); } System.out.println("新序列"); for(int i=0;i<=list.size()-1;i++) {

JAVA实验报告-集合框架及泛型机制

Java语言程序设计C 实验报告 集合框架及泛型机制 学生姓名 专业、班级 指导教师 成绩 计算机与信息工程学院 年月日 一、实验目的 学习课程相关章节知识,通过上机练习,掌握以下知识:

1.掌握List接口下ArrayList及LinkedList的使用方法。 2.掌握Map接口下HashMap 及HashTable的使用方法 3.掌握集合中泛型的使用 二、实验内容 利用集合完成象数据库那样存储数据,并且可以简单查询,利用map存储学生信息,字段如下: id ,name,age,实现步骤: (1)创建类,类图如下: (2)在main方法编写逻辑代码 (3)运行程序并测试结果 package com、cn; public class Student { private String name; private int age; private String id; public String getName() { return name; } public void setName(String name) {

this、name = name; } public int getAge() { return age; } public void setAge(int age) { this、age = age; } public String getId() { return id; } public void setId(String id) { this、id = id; } public Student(String name, int age, String id) { super(); this、name = name; this、age = age; this、id = id; } public void sayHi() { System、out、println("name="+this、getName()+"age="+this、getAge()+" "+"id="+this、getId()); } } //Databace类 package com、cn; import java、util、Collection; import java、util、HashMap; import java、util、Iterator; public class Databace { private Student a; public Databace() { super(); map=new HashMap(); } public Student getA() { return a; }

JAVA IO流处理程序设计实验报告(附完整代码)

流处理程序设计 一、课题内容和要求 内容:设计和编写一个程序从键盘读入一行字符串,将其写入一个文本文件中,再编写另一个程序从文本文件中读入字符串并在命令行窗口显示出来。 要求:要求学生能在学习和理解课堂学习内容中JAVA流编程理论的基础上,学习并逐步掌握JAVA流程序的编写和调试,学习根据处理需求对不同流的正确选择使用和组合使用方法。 二、设计思路分析 Write.java: class Write: 将字符串从键盘输入到文件。 Read.java: class Read: 将字符串从文件输出到命令行窗口。 三、概要设计 Write.java: public class Write{ public static void main(String[] args); } Read.java: public class Read{ public static void main(String[] args); } 四、详细设计 Write.java: import java.io.*; import java.util.Scanner; public class Write { public static void main(String[] args) { File file=new File("File.txt"); System.out.print("输入一行字符串:\n"); Scanner reader=new Scanner(System.in);//输入一行字符串

String s=reader.nextLine(); try {// 异常处理 FileWriter toFlie=new FileWriter(file);//通过底层流写入文件 BufferedWriter out=new BufferedWriter(toFlie);//通过缓冲流将字符串写入底层流 out.write(s); out.close(); toFlie.close(); } catch(IOException e){ System.out.println(e); } } } Read.java: import java.io.*; public class Read { public static void main(String[] args) { File file = new File("File.txt"); try {// 异常处理 FileReader fromFile = new FileReader(file);// 通过底层流读取文件 BufferedReader in = new BufferedReader(fromFile);// 通过缓冲流从底层流读取字符串 System.out.print("文件内容:\n"); String s = in.readLine();// 输出一行字符串 System.out.print(s); in.close(); fromFile.close(); } catch (IOException e) { System.out.println(e); } } } 五、测试数据及其结果分析 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 stub for(int i=2;i<=100;i++) { boolean t = false; for(int j=2;j=1;i--){ for(j=1;j<=((-1)*i+4);j++) for(j=1;j<=(2*i-1);j++)

实验项目四 第2部分 Java 输入输出流

实验项目四Java 高级编程 第2部分 Java输入/输出流 [实验目的] 1、掌握java 常用输入、输出流类及其各自方法。 2、能够灵活使用java 常用输入、输出流类及其各自方法解决实际应用问题。[实验要求] 1、复习理论教学中所学的内容。 2、认真进行实验预习,查阅参考书,书写源程序,书写实验预习报告。 3、认真总结实验并书写实验报告。 [实验课时] 2学时 [实验教学方式] 学生上机实验,教师随堂指导。 [实验内容] 输入输出流 实验1学读汉字 1.模板代码 //ChineseCharacters.java import java.io.*; importjava.util.StringTokenizer; public class ChineseCharacters { publicStringBuffergetChinesecharacters(File file) { StringBufferhanzi=new StringBuffer(); try{ FileReaderinOne=【代码1】 //创建指向文件f的inOne 的对象BufferedReaderinTwo=【代码2】 //创建指向文件inOne的inTwo 的对象 String s=null; int i=0; while((s=【代码3】)!=null) //inTwo读取一行 { StringTokenizertokenizer=new StringTokenizer(s," ,'\n' "); while(tokenizer.hasMoreTokens()) { hanzi.append(tokenizer.nextToken()); } }

Java基本类实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验名称:Java基本类 专业名称:计算机科学与技术 班级:计科1405班 学生姓名:高宏伟 学号:04141152 指导教师:刘霞林 实验日期:2016.11.10

一、实验目的 了解Java 常用的系统类,包括字符串类、System类、数学函数类、日期类、随机数类等的基本使用方法。 二、实验要求 1. 编写一个使用日期类的的程序。 2.编写一个使用日历类和包装类的程序。 3.编写一个使用数学函数的程序。 4.编写一个使用集合框架的程序。 三、实验内容 (一)使用日期类的Applet程序 (1)程序功能:说明3 个日期类Date、Calendar和DateFormat 的使用方式及显示的样式。 (2)编写LX5_1java 程序文件,源代码如下。 import java.text.*; import java.util.*; import java.awt.*; import java.applet.*; public class LX5_1 extends Applet { public void paint(Graphics g) { Date today; Calendar now; DateFormat f1,f2; String s1,s2; 【代码1】; // 获取系统当前日期,存放到today变量 g.drawString("字符串格式:"+today.toString(),20,20); 【代码2】; // 以默认格式生成格式化器,存放到f1变量 【代码3】; // 将日期转换为字符串,存放到s1变量 g.drawString("系统格式:"+s1,20,40); // 生成长格式的中国日期格式化器 f1=DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA); f2=DateFormat.getTimeInstance(DateFormat.LONG, Locale.CHINA); s1=f1.format(today); // 将日期转换为日期字符串 s2=f2.format(today); // 将日期转换为时间字符串 g.drawString("中国格式:"+s1+" "+s2,20,60); 【代码4】// 通过Calendar类获取系统时间,存放到now变量 s1=now.get(now.HOUR)+" 时"+now.get(now.MINUTE)+" 分"+now.get(now.SECOND)+"秒";

相关主题
文本预览
相关文档 最新文档