重生之我在地球Online当程序员6

函数练习&数学算法
一、Java函数

函数,在Java中被称为:方法

main() 方法就是第1个Java程序员需要学习的函数!

方法的作用:实际上就是给代码包个外壳,便于维护 ,便于复用

方法分类:

1、无参方法

2、有参方法

//无参方法
public static void 方法名(){}
//有参方法
public static void 方法名(参数列表){}

方法的语法结构:

访问修饰符 其它修饰符 返回类型 方法名(参数列表){
    //方法体
}
public static void main(String[] args){
}

比如:

public class MathUtil {
    public static void main(String[] args) {
        int[] nums = {11,22,32};
        //求它的累加和
        int sum = sum(nums);//nums 此时被称为:实参   实际传入的参数
        System.out.println(sum);
    }
    //定义方法时,参数被称为:形参  形式参数
    //形参的作用:规定实参在传递时的类型,个数,顺序
    public static int sum(int[] arrs){
        int sum = 0;
        for (int ele : arrs) {
            sum += ele;
        }
        return sum;
    }
}

什么的方法,应该加参数?

比如:计算圆的面积(半径) 计算长方形的周长(长,宽)


什么的方法,应该加返回?

比如:计算圆的面积(半的平方*兀)-->需要返回圆的面积


定义是否的目的:为了找到一个方法,帮我们做特定的事情

无条件帮我做事情,属于无参方法!

有条件帮我做事情,属于有参方法!

做完事情不给我汇报,属于无返回的方法,需要void!

做完事情给汇报结果,属于有返回的方法,需要特定的数据类型!

二、数学算法

1、定义方法返回1000以内,所有的水仙花数

public static void main(String[] args) {
    System.out.println("请输入一个3位数:");
    int a = new Scanner(System.in).nextInt();
    int[] arrs = narcissistic(a);
    System.out.println(Arrays.toString(arrs));
}
//水仙花数 (3位数) 每一位的3次幂之和
public static int[] narcissistic(int ele){
    int[] nums = {};
    for (int i = 100; i < ele; i++) {
        int ge = i % 10;
        int shi = i % 100 / 10 ;
        int bai = i / 100;
        if(i == Math.pow(ge,3) + Math.pow(shi,3) + Math.pow(bai,3)){
            nums = Arrays.copyOf(nums,nums.length + 1);
            nums[nums.length - 1] = i;
        }
    }
    return nums;//返回水仙花数
}

2、计算5!

public static void main(String[] args) {
    System.out.println("请输入一个数:");
    int a = new Scanner(System.in).nextInt();//5!
    int factorial = factorial(a);
    System.out.println("factorial = " + factorial);
}
//求阶乘
public static int factorial(int num){
    int sum = 1;
    for (int i = 1; i <= num; i++) {
        sum *= i;
    }
    return sum;
}

3、计算1! + 2! + 3! + 4! + 5!

image-20240514153006091

public static void main(String[] args) {
    System.out.println("请输入一个数:");
    int a = new Scanner(System.in).nextInt();//5! + 4! + 3! + 2! + 1!
    int sum = 0;
    for (int i = 1; i <= a; i++) {
        int fac = 1;
        for (int j = 1; j <= i; j++) {
            fac *= j;
        }
        sum += fac;
    }
    System.out.println("sum = " + sum);
}

双重for循环: for 中嵌套for循环

千万不要干:3层for循环,3层if嵌套,更不要玩 循环 + 嵌套!

4、九九乘法表

image-20240514154525723

public static void main(String[] args) {
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= i; j++) {
            System.out.print(j + " x " + i + "=" + (j * i) +"\t");
        }   
        System.out.println();
    }
}

总结

1、函数,在Java中叫方法

2、方法在定义时的参数,叫形参;形参的作用:规范实参的类型,顺序,个数

3、方法在调用时,传递的参数,叫实参

4、一个方法需不需要传递,由:该方法的业务需求来决定

5、一个方法需不需要返回,由:调用者来决定

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值