0
点赞
收藏
分享

微信扫一扫

求圆柱体积、输出1000以内的水仙花数(Java)

陬者 2022-04-02 阅读 70
java

文章目录

一、目的和要求

  1. 学会如何使用Scanner类从键盘读取数据;
  2. 掌握Java基本数据类型的使用;
  3. 掌握各种运算符,了解运算符的优先级;
  4. 掌握数组的基本用法;
  5. 掌握switch多分支结构的使用;
  6. 掌握for循环的使用;
  7. 能够区分while循环和do-while循环;
  8. 掌握break语句和continue语句的使用。

二、实验内容与步骤

  1. 编写Java应用程序,从键盘读取圆柱底面半径和高,计算并输出圆柱的体积;
  2. 编写Java程序,求出1000以内的所有水仙花数;

三、源码:

实验1

定义圆柱类

/**
 * 圆柱类
 */
public class Cylinder {

    /**
     * 定义圆柱的底面半径r
     */
    private double r;

    /**
     * 定义圆柱的高
     */
    private double h;

    /**
     * 构造函数
     *
     * @param r 圆柱的底面半径
     * @param h 圆柱的高
     */
    public Cylinder(double r, double h) {
        this.r = r;
        this.h = h;
    }

    /**
     * 成员方法
     * 得到圆柱的体积
     *
     * @return 圆柱的体积
     */
    public double getVolume() {
        //体积=底面积*高、底面积=半径的平方*PI
        return r * r * Math.PI * h;
    }

}

定义圆柱演示类来调用圆柱类

import java.util.Scanner;

/**
 * 圆柱演示类
 */
public class CylinderDemo {
    public static void main(String[] args) {
        //构造Scanner类对象sc用来接受键盘输入
        Scanner sc = new Scanner(System.in);

        System.out.print("请输入圆柱的底面半径和高:");

        //构造圆柱类实例c,并将第一个输入的值作为其底面半径,第二个输入的值作为其高
        Cylinder c = new Cylinder(sc.nextDouble(), sc.nextDouble());

        //输出圆柱体积
        System.out.println("圆柱的体积为:" + c.getVolume());
    }
}

实验2

public class DaffodilsDemo {
    public static void main(String[] args) {
        System.out.print("一千以内的水仙花数有:");
        for (int i = 100; i < 1000; i++) {
            /*
                若是水仙花数,则输出该数
                水仙花数定义:水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身
            */
            if(Math.pow(i % 10, 3) + Math.pow((i / 10 % 10), 3) + Math.pow(i / 100, 3) == i)
                System.out.print(i+"  ");
        }
    }

}

四、结果

实验1

  • 测试输入用例:2 2
  • 计算输出结果:圆柱的体积为:25.132741228718345

实验2

  • 输出结果:一千以内的水仙花数有:153 370 371 407
举报

相关推荐

0 条评论