Java第一次上机

实验1 Java类与对象程序设计基础



一、实验目的:

通过编制一个独立应用程序,使得学生掌握Java的系统所提供类的引用方法;通过编制一个完整的应用程序,使得学生对Java的应用程序的基本构成和基本算法熟练掌握,同时熟悉Java开发环境;通过自定义类及子类的设计,熟悉类的定义和父、子类的继承关系;掌握类多态性的实现和调用。上机练习之前,必须先完成程序的书写,再上机调试。



二、实验内容:

1、编程实现矩形类,其中应包括计算矩形周长和面积的方法。

2、使用矩形类,编程统计若干块土地的相关信息。由用户输入每块土地的长与宽(自己确定),程序将计算其面积并显示出来。

3、为实验1中定义的矩形类派生一个子类:正方形类。若正方形类的操作同样是求周长和面积,则这个子类除了从父类那里继承来的方法之外,还需要定义那些方法。编程检查、运行所编写的正方形类。



三、实验指导:

注意类的继承,方法的实现。



四、实验要求:

1、在上机前写出全部源程序;

2、能在机器上正确运行程序;

五、程序清单:

六、运行结果:

七、调试分析及实验心得:





实验2 Java类和对象的高级特征:接口

一、实验目的

掌握接口的定义和使用,掌握包的概念与使用。



二、实验任务

1、定义接口Printable,其中包括一个方法pringtItMyWay(),这个方法没有形参,返回值为空。

2、改写实验二定义的矩形类,使之实现Printable接口,用pringtItMyWay()方法将矩形的相关信息(长、宽、高、面积)输出。

3、改写实验二定义的正方形类,重载pringtItMyWay()方法,将正方形的边长、周长、面积输出。

4、在Printable接口中增加一个新的pringtItMyWay(char)方法,这个方法有一个字符类型的形参,返回值为空。其功能是利用给出的字符打印,例如若给定的字符为#,一个长为5,宽为3的矩形的屏幕打印结果为:

# # # # #

# # # # #

# # # # #



三、实验指导:

注意继承和接口实现的区别。

四、实验要求:

1、在上机前写出全部源程序;

2、能在机器上正确运行程序;

五、程序清单:

六、运行结果:

七、调试分析及实验心得:


两个合并的程序如下:

import javax.swing.JOptionPane;
public class JavaTest
{




public static void main(String args[])
{
String Nlength;
String Nwidth;
String Nsize;
int length;
int width;
int size;
Nlength=JOptionPane.showInputDialog("请输入矩形的长::");
Nwidth=JOptionPane.showInputDialog("请输入矩形的宽:");
Nsize=JOptionPane.showInputDialog("请输入正方形的边长:");

length=Integer.parseInt(Nlength);
width=Integer.parseInt(Nwidth);
size=Integer.parseInt(Nsize);


Rectangle rec = new Rectangle(length,width);
Square squ = new Square(size);

rec.print();
squ.print();



rec.pringtItMyWay();
squ.pringtItMyWay();
rec.pringtItMyWay('#');
}
}


class Rectangle implements Printable{
int length;
int width;

public Rectangle(int length,int width)
{
this.length=length;
this.width=width;
}

public int perim()
{
return 2*(length+width);
}

public int area()
{
return length*width;
}

public void print()
{
System.out.println("矩形的周长:"+perim()+"矩形的面积"+area());
}
public void pringtItMyWay()
{
System.out.println("矩形的长:"+length+" 矩形的宽:"+width+" 矩形的周长:"+perim()+" 矩形的面积:"+area());
}

public void pringtItMyWay(char a)
{
for (int i=0;i<width;i++)
{
for (int j=0;j<length;j++)
System.out.print(a+" ");
System.out.println("");
}
}


}



class Square extends Rectangle implements Printable
{
public Square(int length)
{
super(length,length);

}

public int perim()
{
return 4*length;
}

public int area()
{
return length*length;
}

public void print()
{
System.out.println("正方形的周长:"+perim()+"正方形的面积"+area());
}
public void pringtItMyWay()
{
System.out.println("正方形的长:"+length+" 正方形的周长:"+perim()+" 正方形的面积:"+area());

}

public void pringtItMyWay(char a)
{
for (int i=0;i<length;i++)
{
for (int j=0;j<length;j++)

System.out.print(a);
System.out.println(" ");
}
}


}


interface Printable
{
public abstract void pringtItMyWay();
public abstract void pringtItMyWay(char a);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值