十二、java当中的函数

上课练习:

给出三边长计算出这个函数是否是三角形。
如果是三角形,再判断一下是否能构成等腰三角形

package com.lianwei;

import java.util.Scanner;

public class FuncatinTest {
    
    
    // 给出三边长计算出这个函数是否是三角形。
    // 如果是三角形,再判断一下是否能构成等腰三角形
    // 如果是三角形计算边长
    

    public static void main(String[] args) {
        int a,b,c;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一边a:");
        a =scanner.nextInt();
        System.out.println("请输入第一边b:");
        b =scanner.nextInt();
        System.out.println("请输入第一边c:");
        c =scanner.nextInt();
        
        
        if (isSanJiaoXin(a,b,c)) {
            System.out.println(a+""+b+""+c+"可以够成三角形");
            if (a ==b || a ==c || b==c) {
                System.out.println("是等腰三角形");
            }else {
                System.out.println("是一般三角形");
            }
        }else {
            System.out.println(a+""+b+""+c+"不可以够成三角形");
            
        }
        
        
        if (isSanJiaoXin(a,b,c)) {
            System.out.println("边长是"+(a+b+c));
        }
        
        
        
        
    }
    
    /**
     * 判断是否是三角形
     * @param a 第一边
     * @param b 第二边
     * @param c  第三边
     * @return  是三角形返回 true  否则返回false
     */
    public static boolean isSanJiaoXin(int a,int b,int c) {
        if (a+b>c && a+c >b && b+c>a && a-b<c && a-c <b &&b-c<a  && b-a<c &&c-a<b && c-b<a) {
            return true;
        }else {
            return false;
        }
    }

}

一、什么是函数。

二、函数的定义

image.png

1:public :修饰符 可有可无
2: boolean 反回类型
可以具体返回类型,也可以无反回类型 void
3: 函数名称
跟变量名称取名规范一样
4: 函数传参
可有可无,可多可少,可以是任何类型,可以任何顺序
5:return 返回结果
可有可无,跟据返回类型。 返回对应的类型

**函数只能写在类里面
**java语言中函数里面不能写函数

三、函数的使用

课堂练习:

从控制台输入一个半径,求出球体积 ,圆面积。要求计算方法写成函数。

package com.lianwei;

import java.util.Scanner;

public class Lianxi1 {

    public static void main(String[] args) {
        //1 输入半径
        System.out.println("请输入一个半径:");
        double r = new Scanner(System.in).nextDouble();
        //2.计算球体积并打印
        double tiji = countTiji(r);
        System.out.println("体积"+tiji);
        //3.订算球面积并打印
        
        double area = countArea(r);
        System.out.println(area);
    }
    
    /**
     * 计算体积
     * @param r
     * @return
     */
    public static double countTiji(double r) {
        double result = 3.14 * r*r*r * (4.0/3.0) ;
        return result;
    }
    
    /**
     * 计算表面积
     * @param r
     * @return
     */
    public static double countArea(double r) {
        
        return 0;
    }

}

上课练习2:

从控制台输入两个数字,求加、减 、乘、除的结果。把计算方式用函数封装起来。

答案:

package com.lianwei.funcation;

import java.util.Scanner;

public class CouseWork01 {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        System.out.println("请从控制台输入第一个整数:");
        int num1 = scan.nextInt();

        System.out.println("请从控制台输入第二个整数:");
        int num2 = scan.nextInt();
        
        System.out.println(jia(num1, num2));
        System.out.println(jian(num1, num2));
        System.out.println(cheng(num1, num2));
        System.out.println(chu(num1, num2));
        
        
    }

    private static double jia(int a, int b) {
        return a + b;
    }

    private static double jian(int a, int b) {
        return a - b;
    }

    private static double cheng(int a, int b) {
        return a * b;
    }

    private static double chu(int a, int b) {
        double result = 0;
        try {
            result = (a * 1.0) / b;
        } catch (Exception e) {
        }
        return result;
    }

}

上课练习3:

从控制台输入三边长,求三角形的周长和面积。使用自定义函数。
答案:

package com.lianwei.funcation;

import java.util.Scanner;

import com.lianwei.FuncatinTest;

public class Lianxi02 {

    public static void main(String[] args) {
        int a,b,c;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一边a:");
        a =scanner.nextInt();
        System.out.println("请输入第一边b:");
        b =scanner.nextInt();
        System.out.println("请输入第一边c:");
        c =scanner.nextInt();
        
        if (FuncatinTest.isSanJiaoXin(a, b, c)) {
            System.out.println("三角形的周长是:"+zhouchang(a, b, c));
            System.out.println("三角形的面积是:"+mianji(a, b, c));
        }else {
            System.out.println("边长不能构成三角形!");
        }
        
    }
    
    public static int zhouchang(int a,int b,int c) {
        return a+b+c;
    }
    
    public static double mianji(int a,int b,int c) {
        int p = zhouchang(a, b, c)/2;
        int temp = p*(p-a)*(p-b)*(p-c);
        double result = Math.sqrt(temp);
        
        return result;
    }

}

方法的重载





###作业1
从控制台输入一个半径和高,求出圆柱体的的体积。要求算法封装成函数。

###作业2
求sum= n+(n-1)+(n-2 )+ …….+(n-100)
要求不能用循环。只能用函数实现。(函数的递归)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,220评论 25 709
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,675评论 0 13
  • growing up is not the problem。 forgetting is。
    留白的轻旋阅读 1,365评论 0 0
  • 一说起《奥特曼》,相信大家都不陌生,在小的时候,或多或少,大家都看过一些,现在也许不看了,转而认为这是小孩子看的...
    GaiaAgul阅读 5,373评论 0 3