实验三 类与对象 一、练习目的:
掌握Java类的结构、类的定义、方法和属性的定义以及对象的实现;
掌握类及其成员修饰符的使用;掌握构造函数的使用;方法的参数传递和返回值的用法;
掌握类变量与实例变量,以及类方法与实例方法的区别。
二、习题内容:
1. 1 计算长、宽、高分别为10、20、30和15、25、35的长方体的体积。
相关代码:
class Volume
{
int length;
int width;
int height;
int Volume()
{
return length*width*height;
}
Volume(int l,int w,int h)
{
length=l;
width=w;
height=h;
}
}
public class ex1
{
public static void main(String[] args)
{
Volume mybox1=new Volume(10,20,30);
Volume mybox2=new Volume(15,25,35);
int vol1,vol2;
vol1=mybox1.Volume();
vol2=mybox2.Volume();
System.out.println("vol1的体积为:"+vol1);
System.out.println("vol2的体积为:"+vol2);
}
}
2 输出结果:
2. 在类ShapeArea中声明三个同名area方法,求圆、矩形和三角形的面积。
相关代码:
import java.util.*;
class ShapeAr
{
double PI=3.14;
ShapeArea(){};
double Area(double r)
{
return PI*r*r;
}
double Area(double length,double width)
{
return length*width;
}
double Area(double a,double b,double c)
{
double s=(a+b+c)/2;
s=Math.sqrt(s*(s-a)*(s-b)*(s-c));
return s;
}
}
public class ex2
{
public static void main(String[] args)
{
ShapeArea circle=new ShapeArea();//声明圆对象
ShapeArea rect=new ShapeArea();//声明矩形对象
ShapeArea triangle=new ShapeArea();//声明三角形对象
Scanner in=new Scanner(System.in);
System.out.println("请输入圆半径长度:");
double r=in.nextDouble();
double cirarea=circle.Area(r);
System.out.println("圆的面积为:");
System.out.println(cirarea);
System.out.println("请输入矩形的长度和宽度:");
double l=in.nextDouble();
double w=in.nextDouble();
double rectarea=rect.Area(l,w);
System.out.println("矩形的面积为:");
System.out.println(rectarea);
System.out.println("请输入三角形三边的长度:");
double a=in.nextDouble();
double b=in.nextDouble();
double c=in.nextDouble();
while(a+b<=c||a+c<=b||b+c<=a)
{
System.out.println("输入三角形边长数据有误,请重新输入!");
a=in.nextDouble();
b=in.nextDouble();
c=in.nextDouble();
}
System.out.println("三角形的面积为:");
double triarea=triangle.Area(a,b,c);
System.out.println(triarea);
}
}
输出结果:
3. 3 定义一个表示学生信息的类Student,包括学号(sno)、姓名(sname)、性别(ssex)、成绩(score)四个实例变量,类型自己定义;实例方法有获得学号(getsno)、获得姓名(getname)、获得性别(getssex)、获得成绩(getscore)、修改成绩(changscore)。创建两个该类的对象(用构造方法初始化对象),输出两个学生的信息,并计算两人成绩的平均值。
相关代码:
import java.util.*;
class Student
{
private String sno,sname,ssex;
private double score;
Student(String sno1,String name,String sex,double score1)
{
sno=sno1;
sname=name;
ssex=sex;
score=score1;
}
String getsno()
{
return sno;
}
String getsname()
{
return sname;
}
String getssex()
{
return ssex;
}
double getscore()
{
return score;
}
}
public class ex3
{
public static void main(String[] args)
{
Student stu1,stu2;
stu1=new Student("114702","张三","男",99);
stu2=new Student("114703","李四","女",66);
System.out.println("第一个学生的信息:");
System.out.println("学号:"+stu1.getsno());
System.out.println("姓名:"+stu1.getsname());
System.out.println("性别:"+stu1.getssex());
System.out.println("成绩:"+stu1.getscore());
System.out.println("第二个学生的信息:");
System.out.println("学号:"+stu2.getsno());
System.out.println("姓名:"+stu2.getsname());
System.out.println("性别:"+stu2.getssex());
System.out.println("成绩:"+stu2.getscore());
System.out.println("两名学生的平均成绩为:");
double stu1score=stu1.getscore();
double stu2score=stu2.getscore();
double avg=(stu1score+stu2score)/2;
System.out.println(avg);
4. 4 编写一个程序,计算三个不同盒子的体积。将每个盒子的高度、宽度和长度传递给构造方法,计算并显示体积。
相关代码:
import java.util.*;
class Box
{
double height,width,length;
Box(){
};
void sethwl(double h,double w,double l)
{
height=h;
width=w;
length=l;
}
double volume()
{
return height*width*length;
}
}
public class ex4
{
public static void main(String[] args)
{
System.out.println("请输入第一个长方体的长、宽、高");
Scanner in=new Scanner(System.in);
double l=in.nextDouble();
double w=in.nextDouble();
double h=in.nextDouble();
Box mybox1=new Box();
mybox1.sethwl(l,w,h);
double vol1=mybox1.volume();
System.out.println("第一个长方体的体积是:"+vol1);
System.out.println("请输入第二个长方体的长、宽、高");
l=in.nextDouble();
w=in.nextDouble();
h=in.nextDouble();
Box mybox2=new Box();
mybox2.sethwl(l,w,h);
double vol2=mybox2.volume();
System.out.println("第二个长方体的体积是:"+vol2);
System.out.println("请输入第三个长方体的长、宽、高");
l=in.nextDouble();
w=in.nextDouble();
h=in.nextDouble();
Box mybox3=new Box();
mybox3.sethwl(l,w,h);
double vol3=mybox3.volume();
System.out.println("第三个长方体的体积是:"+vol3);
}
}
输出结果:
|