实验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);
}
一、实验目的:
通过编制一个独立应用程序,使得学生掌握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);
}