Day08-参数和递归

Day08-参数和递归

命令行传参

public class Demo03 {
    public static void main(String[] args) {
        //args.length数组长度
        for (int i = 0; i <args.length; i++) {
            System.out.println("args["+i+"]"+args[i]);
        }
    }
}
  1. 找到文件夹,利用控制台进行编译传参。

在这里插入图片描述

可变参数(不定项参数)

找出最大的值

public class Demo04 {
    public static void main(String[] args) {
        //调用可变参数的方法
        printMax(34,3,3,2,56.5);
        printMax(new double[]{1,2,3});

    }
    public static void printMax(double...numbers){
        if(numbers.length == 0){
            System.out.println("没有数字");
            return;
        }
        double result = numbers[0];
        //排序
        for (int i = 1; i < numbers.length; i++) {
            if(numbers[i]>result){
                result = numbers[i];
            }
        }
        System.out.println("最大的数为:"+result);
    }
}

输出

最大的数为:56.5
最大的数为:3.0

总结

在这里插入图片描述

递归

阶乘

public class Demo05 {
    public static void main(String[] args) {
        int x = x(5);
        System.out.println(x);
    }
    public static int x(int n){
        if(n==1){
            return 1;
        }else{
            return n*x(n-1);
        }
    }
}

输出

120

总结

在这里插入图片描述

作业

做一个简易的计算器

package com.gong.method;
import java.util.Scanner;
public class Demo06 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double result =0;
        System.out.println("请输入第一个数:");
        double x =scanner.nextDouble();
        System.out.println("请输入第二个数:");
        double y=scanner.nextDouble();
        System.out.println("请输入要进行的运算符:");
        //对输入的运算符进行选择
        String mark = scanner.next();
        switch (mark){
            case("+"):
                result =add(x,y);//调用方法
            break;
            case("-"):
                result =red(x,y);
                break;
            case("*"):
                result =mul(x,y);
                break;
            case("/"):
                result =exc(x,y);
                break;
        }
        System.out.println(x+mark+y+"="+result);
        scanner.close();

    }
    //先定义加减乘除四个方法
    public static double add(double x,double y){
        return x+y;
    }
    public static double red(double x,double y){
        return x-y;
    }
    public static double mul(double x,double y){
        return x*y;
    }
    public static double exc(double x,double y){
        return x/y;
    }
}

输出

请输入第一个数:
5
请输入第二个数:
5
请输入要进行的运算符:
*
5.0*5.0=25.0
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值