黑马程序员技术交流社区

标题: java基础-小练习 [打印本页]

作者: qinjingbo    时间: 2014-10-26 21:29
标题: java基础-小练习
实验三 类与对象
一、练习目的:
掌握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);
    }
}   

输出结果:

作者: Eagle    时间: 2014-10-26 21:51
基础练习啊。但是那个nextDouble我好像还没有学过。。
作者: Paul_Chang    时间: 2014-10-27 09:05
mark...拿来练手
作者: 菜鸟一号    时间: 2014-10-27 09:17
楼主不错
作者: new999    时间: 2014-10-27 09:55
加油~~~  
作者: EARL    时间: 2014-10-27 11:30
挺好的,看不懂话给
作者: 田峻菘    时间: 2014-10-27 23:36
不错。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2