zoukankan      html  css  js  c++  java
  • 第六周&java实验报告四

    实验报告

    (1)根据下面的要求实现圆类Circle。
    1.圆类Circle的成员变量:radius表示圆的半径。
    2.圆类Circle的方法成员:
    Circle():构造方法,将半径置0
    Circle(double r):构造方法,创建Circle对象时将半径初始化为r
    double getRadius():获得圆的半径值
    double getPerimeter():获得圆的周长
    void disp():将圆的半径和圆的周长,圆的面积输出到屏幕

    代码

    package Circleall;
    
    public class Circle {
    	private double radius;
    	
    	public Circle() {
    		this.radius = 1;
    	}
    
    	public double getRadius() {
    		return radius;
    	}
    	public void setRadius(double radius) {
    		this.radius = radius;
    	}
    
    	public Circle(double r) {
    		this.setRadius(r);
    	}
    	public double getPerimeter() {
    		
    		return 2*Math.PI*radius;
    	}
    	
    	public void disp() {
    		System.out.println("半径:"+radius);
    		System.out.println("周长:"+getPerimeter()+" 面积:"+Math.PI*Math.pow(radius, 2));
    	}
    	
    	public static void main (String[] args) {
    		Circle st = new Circle();
    		st.disp();
    	}
    }
    

    遇到的问题

    无。

    运行结果

    2)继承第一题中的圆Circle类,派生圆柱体类Cylinder。要求如下:
    1.圆柱体类Cylinder的成员变量:height表示圆柱体的高。
    2.圆柱体类Cylinder的成员方法:
    Cylinder(double r,double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱体高初始化为h。
    double getHeight():获得圆柱体的高
    double getVol():获得圆柱体的体积
    void dispVol():将圆柱体的体积输出到屏幕

    代码

    package Circleall;
    
    public class Cylinder extends Circle{
    	private double height;
    	
    	public double getHeight() {
    		return height;
    	}
    
    	public void setHeight(double height) {
    		this.height = height;
    	}
    
    	public Cylinder(double r,double h) {
    		this.setRadius(r);
    		this.setHeight(h);
    	}
    	
    	public double getVol() {   //圆柱体体积
    		
    		return Math.PI*Math.pow(getRadius(), 2)*height;
    	}
    	
    	public void dispVol() {
    		System.out.println("圆柱体的体积是:"+getVol());
    	}
    	
    	public static void main (String[] args) {
    		Cylinder st = new Cylinder(3,2);
    		st.dispVol();
    		
    	}
    }
    

    遇到的问题

    无。

    运行结果

    (3)按照第二题的Cylinder类,接上键盘的输入值作为圆的半径和圆柱体的高,计算圆柱体的体积

    代码

    package Circleall;
    
    import java.util.Scanner;
    
    public class Cylinder extends Circle{
    	private double height;
    	
    	public double getHeight() {
    		return height;
    	}
    
    	public void setHeight(double height) {
    		this.height = height;
    	}
    	
    	public Cylinder() {
    		
    	}
    	
    	public Cylinder(double r,double h) {
    		this.setRadius(r);
    		this.setHeight(h);
    	}
    	
    	public double getVol() {   //圆柱体体积
    		
    		return Math.PI*Math.pow(getRadius(), 2)*height;
    	}
    	
    	public void dispVol() {
    		System.out.println("圆柱体的体积是:"+getVol());
    	}
    	
    	public void Inputstr() {     //输入圆柱体的半径和高
    		Scanner pw = new Scanner(System.in);
    		
    		System.out.print("请输入圆柱体的半径:");
    		double radius = pw.nextDouble();
    		
    		System.out.print("请输入圆柱体的高:");
    		double height= pw.nextDouble();
    		
    		this.setRadius(radius);
    		this.height = height;
    		
    		pw.close(); 
    	}
    	
    	public static void main (String[] args) {
    		Cylinder st = new Cylinder();
    		
    		st.Inputstr();  //输入
    		
    		st.dispVol();   //输出结果
    		
    	}
    }
    

    遇到的问题

    点击运行后未报错,但是也没运行;
    解决办法:依次点击window->show view->others->General->console 就出现运行界面。

    运行结果

    学习总结

    instanceof关键字

    作用:在发生向下转型之前用于判断一个对象到底是哪个类的实例;
    格式:对象 instanceof 类 --> 返回值是boolean型;

    接口

    定义格式:
    interface 接口内容{
    全局常量;
    抽象方法;
    }

    实现接口的格式:
    class 子类 implements 接口 A,接口 B,...{
    }
    一个子类既实现接口又继承抽象类 格式:
    class 子类 extends 抽象类 implements 接口 A,接口 B,...{
    }
    抽象类实现接口格式:
    abstract class 类名 implements 接口 A{
    }

    接口的继承 格式:
    interface 子接口 extends 父接口 A,父接口 B,...{
    }

    注意:

    (1)接口中的抽象方法必须是public的访问权限,不可改变,就算没写public,也是;
    (2)要使用接口必须通过子类,子类通过implements关键字实现接口;
    (3)一个子类可以同时实现多个接口;
    (4)一个接口是不允许继承抽象类的,但一个接口允许继承多个接口。

  • 相关阅读:
    POJ 1703 Find them, Catch them
    POJ 2236 Wireless Network
    POJ 2010 Moo University
    POJ 2184 Cow Exhibition
    POJ 3280 Cheapest Palindrome
    POJ 3009 Curling 2.0
    POJ 3669 Meteor Shower
    POJ 2718 Smallest Difference
    POJ 3187 Backward Digit Sums
    POJ 3050 Hopscotch
  • 原文地址:https://www.cnblogs.com/LeeMayZ/p/11625470.html
Copyright © 2011-2022 走看看