java实验报告样本2

时间:2024.4.12

   实验项目名称 :              继承和多态                                               

              (所属课程:   Java语言程序设计                 

院 系:计算机科学与信息工程    专业班级:12级物联网工程     姓 名:张 懿

学号:201203040042             实验地点: A-06 411          指导老师:张 阳

本实验项目成绩:           教师签字:             日期:                                        

1.实验目的

(1)掌握类的继承机制。

(2)熟悉类中成员变量和方法的访问控制。

(3)熟悉方法或构造方法多态性。

2.实验内容

(1)模拟编写程序,理解类的继承、多态、继承和多态规则。

(2)独立编程,实现类的继承和多态。

3.实验作业

设计一个类Shape(图形)包含求面积和周长的area()方法和perimeter()方法以及设置颜色的方法SetColor(),并利用Java多态技术设计其子类Circle(圆形)类、Rectangle(矩形)类和Triangle(三角形)类,并分别实现相应的求面积和求周长的方法。每个类都要覆盖toString方法。

海伦公式:三角形的面积等于s(s-a)(s-b)(s-c)的开方,其中s=(a+b+c)/2

4.实验程序

import java.util.Scanner;

public class TEST {

     public static void main(String[] args) {

         float radius;

         float chang,kuan;

         float a,b,c;

         Scanner input = new Scanner(System.in);

        

         System.out.print("请输入圆的半径:");

         radius = input.nextFloat();

         Circle circle = new Circle(radius);

         System.out.println("圆的面积为:"+circle.area()+" 圆的周长为:"+circle.perimeter()+"\n"+circle.toString());

                  

         System.out.print("请输入矩形的长:");

         chang = input.nextFloat();

         System.out.print("请输入矩形的宽:");

         kuan = input.nextFloat();

         Rectangle rectangle = new Rectangle(chang,kuan);

         System.out.println("矩形的面积为:"+rectangle.area()+" 矩形圆的周长为:"+rectangle.perimeter()+"\n"+rectangle.toString());

        

        

         System.out.print("请输入三角形的第一条边:");

         a = input.nextFloat();

         System.out.print("请输入三角形的第二条边:");

         b = input.nextFloat();

         System.out.print("请输入三角形的第三条边:");

         c = input.nextFloat();

         Triangle triangle = new Triangle(a,b,c);

         System.out.println("三角形的面积为:"+triangle.area()+" 三角形圆的周长为:"+triangle.perimeter()+"\n"+triangle.toString());

     }

}

class Shape{

     private String color;

     public Shape(){

     }

     public double area(){

         return 0;

     }

     public double perimeter(){

         return 0;

     }

     public void Setcolor(String color){

         this.color = color;

     }

    

}

class Circle extends Shape{

     private float radius;

     public Circle(float radius){

         this.radius = radius;

     }

     public double area(){

         return 3.14 * radius * radius;

     }

     public double perimeter(){

         return 3.14 * 2 * radius;

     }

     public String toString(){

         return super.toString() + "这是一个描述该对象的字符串 ";

     }

    

}

class Rectangle extends Shape{

     private float chang;

     private float kuan;

     public Rectangle(float chang,float kuan){

         this.chang = chang;

         this.kuan = kuan;

     }

     public double area(){

         return  chang * kuan;

     }

     public double perimeter(){

         return  (chang+kuan) * 2;

     }

     public String toString(){

         return super.toString() + "这是一个描述该对象的字符串 ";

     }

    

}

class Triangle extends Shape{

     private float a;

     private float b;

     private float c;

     public Triangle(float a,float b,float c){

         this.a = a;

         this.b = b;

         this.c = c;

     }

     public double area(){

         float s = (a+b+c)/2;

         return  Math.sqrt(s * (s-a) * (s-b) * (s-c));

     }

       public double perimeter(){

         return  a+b+c;

     }

     public String toString(){

         return super.toString() + "这是一个描述该对象的字符串 ";

     }

}

程序输出结果:

:

5.实验总结
(1)掌握了类的继承机制。

(2)熟悉了类中成员变量和方法的访问控制。

(3)熟悉了方法和构造方法多态性。


第二篇:Java编程基础实验报告(样本)



实验名称: Java 开发工具与简单Java程序设计       指导教师:         

实验仪器:  计算机

实验日期:          日  实验地点:         成绩:     

实验目的:

(1)熟悉JDK开发环境。

(2)掌握Java Application的程序结构和开发过程。

(3)了解Java Applet的功能与程序结构。

实验内容及基本要求:

1、运行下列程序,写出其输出结果。

public class Hello

{

     public static void main(String args[])

     {

          System.out.println(“你好,很高兴学习Java”);

      }

}

2、运行下列程序,写出其输出结果。

import java.applet.*;

import java.awt.*;

public class boy extends Applet

{

     public void paint(Graphics g)

     {

          g.setColor(Color.red);

          g.drawString(“Java是跨平台的语言,一次编译,到处运行。”,2,30);

          g.setColor(Color.blue);

          g.drawString(“我学得很认真”,10,50);

     }

}

3、分别用应用程序和小应用程序编程,要求输出字符串“我喜欢学习Java。”

实验过程及结果:

1、          F:\java\sy>javac Hello.java

F:\java\sy>java Hello

你好,很高兴学习Java

F:\java\sy>

2、编写一个超文本文件boy.html:

   <applet code=boy.class height=100 width=300>

   </applet>

方法一:F:\java\sy>appletviewer boy.html

方法二:在IE浏览器中直接打开文件boy.html

3、应用程序:

public class Hello1

{

     public static void main(String args[])

     {

          System.out.println(“我喜欢学习Java”);

      }

}

小应用程序:

import java.applet.*;

import java.awt.*;

public class boy1 extends Applet

{

     public void paint(Graphics g)

     {

          g.setColor(Color.red);

          g.drawString(“我喜欢学习Java”,2,30);

   }

}

实验总结:                                                 

                                                           

                                                          

实验评价(教师):                                        

                                                          

                                                         

实验名称:Java语言基础               指导教师:        

实验仪器:  计算机  

实验日期:          日  实验地点:         成绩:     

实验目的:

(1)掌握标识符的定义规则。

(2)掌握各种基本数据类型及其相互转换。

(3)掌握各种运算符的实验及其优先级控制。

(4)掌握Java的控制语句和循环语句。

实验内容及基本要求:

l、上机运行下列程序,写出其输出结果。

public class Convert

{

     public static void main(String args[])

     {

           byte a=120; short b=255;

           int c=2200; long d=8000;

           float f;

           double g=123456789.123456789;

           b=a;

           c=(int)d;

f=(float)g;

System.out.print(“a=”+a); System.out.println(“b=”+b);

System.out.print(“c=”+c); System.out.println(“d=”+d);

System.out.print(“f=”+f); System.out.println(“g=”+g);

}

}

2、上机运行下列程序,写出其输出结果。

import java.applet.*;

import java.awt.*;

public class JieCheng extends Applet

{

     public void paint(Graphics g)

     {

         long jiecheng=1;

         for(int i=10;i>=1;i--)

         {

                jiecheng=jiecheng*i;

           }

        g.drawString(“10的阶乘是”+jiecheng,10,20);

       }

}   

3、编写一个程序,根据月份判断季节。

实验过程及结果:

1、a=120b=120

c=8000d=8000

f=1.23456792E8g=1.2345678912345679E8

2、编写一个超文本文件jiecheng.html:

   <applet code=JieCheng.class height=100 width=300>

   </applet>

方法一:F:\java\sy>appletviewer jiecheng.html

方法二:在IE浏览器中直接打开文件jiecheng.html

3、import java.util.*;

public class JiJie{

     public static void main(String args[]){

          int month;

          String jijie="";

          System.out.println("请输入月份:");

          Scanner reader=new Scanner(System.in);

          month=reader.nextInt();

          switch(month){

                     case 1:

                     case 2:

                     case 3:

                              jijie="春季";

                              break;

                     case 4:

                     case 5:

                     case 6:

                              jijie="夏季";

                              break;

                     case 7:

                     case 8:

                     case 9:

                              jijie="秋季";

                              break;

                     case 10:

                     case 11:

                     case 12:

                              jijie="冬季";

                              break;

                       }

             System.out.println("月份"+month+"属于"+jijie);

   }

}

实验总结:                                                 

                                                           

                                                           

实验评价(教师):                                        

                                                         

                                                         

实验名称:    Java面向对象程序设计     指导教师:        

实验仪器:  计算机  

实验日期:          日  实验地点:         成绩:     

实验目的:

(1)掌握类的声明,对象的创建以及方法的定义和调用。

(2)掌握打包机制。

(3)掌握类的继承。

(4)掌握类接口的使用。

实验内容及基本要求:

1、     编写程序runYear.java实现从屏幕输出1900年到20##年之间的所有润年。

2、     编写程序jsarea.java实现对三角形面积的计算,要求使用方法调用。

3、   运行下列程序,并写出其输出结果。

interface ShowMessage

{

     void 显示商标(String s);

}

class TV implements ShowMessage

{

     public void 显示商标(String s)

     {

         System.out.println(s);

     }

}

class PC implements ShowMessage

{

     public void 显示商标(String s)

     {

         System.out.println(s);

     }

}

public class Example

{

public static void main(String args[])

{

     ShowMessage sm;

     sm=new TV();

     sm.显示商标(“长城牌电视机”);

     sm=new PC();

     sm.显示商标(“联想奔月 5008PC”);

     }

}

实验过程及结果:

1、public class runYear {

public static void main(String[] args){ 

System.out.println("1900年到20##年之间的所有润年有:");

    int year;

    for(year=1900;year<=2000;year++)

    {

        final int a = 4;

        final int b = 100;

        final int c = 400;

        double x = year%a;//计算能否被4整除

        double y = year%b;//计算能否被100整除

       double z = year%c;//计算能否被400整除

       if(x == 0 && y != 0 || z == 0){

       System.out.print(year+"      " );      

       }

}

  }

}

2、

import java.util.*;

class area{

          float area(float x,float h){

               {float s;

                s=(x*h)/2;

                return s;

                 }

           }

}

public class jsarea{

     public static void main(String args[]){

          area a=new area();

          System.out.println("请输入三角形的底长和高:");

          Scanner reader=new Scanner(System.in);

          float x1,h1;

          x1=reader.nextFloat();

          h1=reader.nextFloat();

          float s=a.area(x1,h1);

          System.out.println("该三角形的面积是:"+s);

   }

}   

3、F:\java\sy>java Example

长城牌电视机

联想奔月 5008PC

实验总结:                                                  

                                                           

                                                          

实验评价(教师):                                        

                                                          

                                                         

实验名称:    图形用户界面设计实验一    指导教师:        

实验仪器:  计算机  

实验日期:          日  实验地点:         成绩:     

实验目的:

(1)理解AWT和Swing组件的异同。

(2)理解并掌握常见容器的含义及应用。

(3)理解并掌握常见布局的含义和应用。

实验内容及基本要求:

1、编写程序包含一个标签、一个文本框和一个按钮,当用户单击按钮时,程序把文本框中的内容复制到标签中。

2、设计一个加法器,如下图所示,在文本框中输入两个整数,单击“=”按钮时,在第三个文本框中显示这两个数的和。

实验过程及结果:

1、

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class fuzhi {  

  public static void main(String args[]) {  

   frame f = new frame();  

    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  

  f.setVisible(true);     

  }  

}  

 

class frame extends JFrame {  

  JTextField num1;

  JLabel lab1;

  JButton but1;   

  String s;  

 public frame() {  

   setTitle("复制内容");    

   setBounds(300, 300, 440, 100);  

   num1 = new JTextField(30);    

   lab1 = new JLabel("初始状态");  

   but1 = new JButton("复制");  

   JPanel jpanel = new JPanel();  

   jpanel.setLayout(new FlowLayout( ));  

   jpanel.add(num1);  

  jpanel.add(but1);  

   jpanel.add(lab1);   

  Container c = getContentPane();  

   c.add(jpanel);  

   but1.addActionListener(new action1());  

 }  

 class action1 implements ActionListener {  

   public void actionPerformed(ActionEvent e) {  

    s = new String(num1.getText());  

    lab1.setText(s);  

   }  

  }  

2、

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class Oneandtwo {  

  public static void main(String args[]) {  

   frame f = new frame();   

    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  

  f.setVisible(true);   

    f.setResizable(false);  

  }  

}  

 

class frame extends JFrame {  

  JTextField num1, num2, num3;   

 

 int sum;  

 String s;  

 public frame() {  

   setTitle("加法");  

   //setSize(220, 50);  

    setBounds(300, 300, 440, 100);  

  num1 = new JTextField(10);

   num2 = new JTextField(10);  

   num3 = new JTextField(10);  

   JLabel plus = new JLabel("+");  

   JButton equal = new JButton("=");  

   JPanel jpanel = new JPanel();  

   jpanel.setLayout(new GridLayout(1, 5));  

   jpanel.add(num1);  

  jpanel.add(plus);  

   jpanel.add(num2);  

    jpanel.add(equal);  

  jpanel.add(num3);  

  Container c = getContentPane();  

   c.add(jpanel);  

   equal.addActionListener(new action1());  

 }  

 class action1 implements ActionListener {  

   public void actionPerformed(ActionEvent e) {  

    int n1 = Integer.parseInt(num1.getText().trim());  

    int n2 = Integer.parseInt(num2.getText().trim());  

    sum = n1 + n2;  

     s = new String("" + sum);  

    num3.setText(s);  

   }  

  }  

实验总结:                                                 

                                                           

                                                           

实验评价(教师):                                        

                                                         

                                                         

实验名称:    图形用户界面设计实验二    指导教师:        

实验仪器:  计算机  

实验日期:          日  实验地点:         成绩:     

实验目的:

(1)理解事件处理的委托事件模型。

(2)理解并掌握键盘和鼠标等事件的处理。

(3)理解并掌握常见组件的使用和事件处理。

实验内容及基本要求:

1、     创建一个窗体,窗体中有一个按钮,当单击按钮后,就会弹出一个新窗体。

2、     创建一个菜单,如下图所示。要求在单击菜单子项时,弹出一个窗口显示“该项目正在建设中……”。

实验过程及结果:

1、

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class chuangti2 {

       public static void main(String args[]) {  

   fram f1 = new fram();

   }}

       class fram extends JFrame{

         public fram(){

              JFrame mw = new JFrame("第一个窗体");

              mw.setSize(550,500);

              Container cp=mw.getContentPane();

      cp.setLayout(new FlowLayout());

              JButton button = new JButton("按钮");

              button.addActionListener(new action1());

         cp.add(button);

              mw.setVisible(true);

              mw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

       }

 class action1 implements ActionListener {

    public void actionPerformed(ActionEvent e) { 

            JFrame f2=new JFrame("第二个窗体");

            f2.setSize(300,300) ;

            f2.setVisible(true);}

}

}

2、

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class Caidan extends Frame implements ActionListener {

      TextField text;

      public Caidan() {

           super("我的菜单窗口");

           setSize(300, 200);

      }

      public void init() {

           MenuBar myB = new MenuBar();

           setMenuBar(myB);//窗体类Frame的方法,设置菜单

           Menu m1 = new Menu("文件");//创建"文件"菜单

           m1.add(new MenuItem("打开"));//在菜单m1中添加菜单项"打开"

           MenuItem m11 = new MenuItem("保存");

           m11.setEnabled(false);//设置菜单项m11为不可用状态

                                  m1.add(m11);

           m1.addSeparator();//在菜单中添加一条分割线

           m1.add("退出");

           m1.addActionListener(this);//添加监视器,设置菜单项接收操作事件

           myB.add(m1);

           Menu m2 = new Menu("编辑");

           m2.add("复制");

           Menu m21 = new Menu("颜色");

           m21.add("前景色");

           m21.add("背景色");

           m21.addActionListener(this);

           m2.add(m21);

           m2.addSeparator();

           CheckboxMenuItem mycmi = new CheckboxMenuItem("全选");

           m2.add(mycmi);

           m2.addActionListener(this);

           myB.add(m2);

           Menu m3 = new Menu("帮助");

           m3.add("关于");

           m3.addActionListener(this);

           myB.setHelpMenu(m3);

      }

public static void main(String args[]) {

           Caidan myMenu = new Caidan();

           myMenu.init();

           myMenu.setVisible(true);

      }

      public void actionPerformed(ActionEvent e) {

                                  if (e.getActionCommand() == "前景色"){

JOptionPane.showMessageDialog(null, "该项目正在建设中!","注意", 

JOptionPane.ERROR_MESSAGE);

                                     }

           if (e.getActionCommand() == "退出"){

                System.exit(0);}

      }

}

实验总结:                                                 

                                                           

                                                           

实验评价(教师):                                        

                                                         

                                                         

更多相关推荐:
java 实验报告 全

河南省高等教育自学考试实验报告册计算机及应用专业(本科段)《JAVA》姓名所属地市实验地点实验日期实验总成绩指导教师签名实验单位(实验室)意见:主考院校审核意见:河南科技大学自学考试办公室二零一零年x月实验一j…

五子棋Java实验报告

五子棋JAVA实验报告一实验目的和要求1能够用编程语言实现一个简单的五子棋程序2在实际系统中使用实现人工智能的相关算法3进一步加深对人工智能算法的理解二五子棋的基本常识与原理1五子棋的起源五子棋是一种两人对弈的...

java实验报告实验六Java图形用户界面

信息工程学院Java程序设计实习报告JAVA图形用户界面实验六Java图形用户界面1实验目的1掌握图形用户界面基本组件2了解如何使用布局管理器对组件进行管理3掌握Java事件处理机制2实验内容实验题1编写一个模...

java上机实验心得体会报告

北京联合大学信息学院“面向对象程序设计”课程上机实验报告题目:JAVA上机实验心得体会姓名(学号):专业:计算机科学与技术编制时间:20xx年x月x日版本:1.0.0指导教师:北京联合大学-信息学院编制实验…

Java实验报告

Java语言程序设计实验报告实验序号3一实验目的及要求1进一步熟练Java语法和常用方法的使用2进一步熟练Java程序结构3进一步提高算法设计与实现的能力4为后续章节的学习打下坚实的基础二实验设备环境实验室计算...

Java实验报告

JAVA课程标准实验报告学号1040501211姓名陈嘉生江苏科技大学计算机科学与工程学院基础部1实验一流程控制语句一实验目的1234二实验内容1安装开发环境JDK2编写一个JAVA应用程序在输出窗口显示quo...

java实验报告书3

浙江理工大学Java程序设计实验报告20xx20xx学年第二学期学院班级姓名学号任课教师信息学院11数字媒体技术2周咪咪20xx329700214宋瑾钰上课时间周二三四节数字媒体技术专业20xx年5月12345...

java实验报告4

广东工业大学实验报告学院专业班学号姓名成绩评定一实验目的1学习类的成员变量和成员方法的声明格式2学习java对象的创建和调用3学习参数传递4学习类的私有成员的定义访问方法已经共有成员的定义5理解类的构造方法构造...

Java实验报告1

Java实验报告

java实验报告11

实验报告20xx20xx学年第2学期课程名称JAVA程序设计实验名称字符串和正则表达式实验时间20xx年5月28日指导单位计算机学院软件学院软件工程系指导教师周莉学生姓名班级学号学院系计算机软件学专业计算机科学...

Java语言基础实验报告

浙江大学城市学院实验报告课程名称面向对象程序设计实验项目名称Java语言基础实验学生姓名专业班级学号一实验目的和要求1掌握Java语言的基本数据类型字符串数组2掌握Java语言的运算符表达式语句3能够编写Jav...

java实验九

Java语言程序设计实验报告九张鑫20xx1225实验名称实验日期Java数据流编程指导教师电子商务班级电子商务1302李鸿儒专业姓名

java实验报告(30篇)