当前位置:文档之家› 实验二 Java类-实验报告

实验二 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<m;p++)
{
System.out.print(b[p]+" ");
}
}
}
3、
abstract class Shape{
public abstract double getArea(Shape ar); }
class Square extends Shape{
private double a=0;
public Square(double a)
{
this.a=a;
}
public double getArea(Shape ar){
double s=0;
s=this.a*this.a;
return s;
}
}
class Triangle extends Shape{
private double a=0;
private double b=0;
private double c=0;
public Triangle(double a,double b,double c) {
this.a=a;
this.b=b;
this.c=c;
}
public double getArea(Shape sh)
{
double s=0;
double p=(a+b+c)/2;
s=Math.sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
}
class Circle1 extends Shape{
private double r=0;
public Circle1(double r)
{
this.r=r;
}
public double getArea(Shape sh)
{
double s=0;
s=this.r*this.r*Math.PI;
return s;
}
}
public class Area333{
public static void main(String agrs[])
{
Shape ar[]=new Shape[3];
ar[0]=new Circle1(3);
ar[1]=new Square(5);
ar[2]=new Triangle(3,2,3);
for(int i=0;i<3;i++){
System.out.println(ar[i].getArea(ar[i]));
}
}
}
4.实验分析和总结
通过本次实验,我对Java的理解更加深入。

相关主题