22.0/方法的重载

目录

22.1可变参数的方法

22.2值传递和引用传递

 22.3储物柜系统(面试题)

存包功能

22.4取包


概念: 在同一个类中,出现多个方法名相同,参数列表不同的方法。

这些方法称为方法重载.

调用时根据传递的参数而决定调用哪个方法。
import java.util.Random;
import java.util.Scanner;

public class Test01 {
    public static void main(String[] args) {
            add(10.5,15.0);

       
    }

    //求和--两个整数的和
    public static int add(int a,int b){
        System.out.println("~~~~~~~~add(int a,int b)~~~~~~");
        int r=a+b;
        return r;
    }
    //求和-两个小数的和
    public static double add(double a,double b){
        System.out.println("===============add(double a,double b)==============");
        double r=a+b;
        return r;
    }
    //求和-一个整数和一个小数
    public static double add(double a,int b){
        System.out.println("**************add(double a,int b)**************");
         double r=a+b;
         return r;
    }
}

22.1可变参数的方法

调用方法时可以根据需要传递若干个参数值。

public static 返回类型 方法(数据类型... 参数名){

}
import java.util.Arrays;

public class Test02 {
    public static void main(String[] args) {
//        fun();
//        fun(10);
//        fun(10,15);
        fun(10,15,158);
    }
    public static void fun(int... a){ //数组类型
        System.out.println("~~~~~~~~~~~~~~~"+ Arrays.toString(a));

        //遍历a数组
        for(int i=0;i<a.length;i++){
            System.out.println(a[i]);
        }
        System.out.println("==================================");
        for (int b : a) {
            System.out.println(b);
        }
    }
}

22.2值传递和引用传递

public class Test03 {
    public static void main(String[] args) {
//        int b = 20;
//        fun(b);
//        System.out.println("b========" + b);
        int[] c={1,10,20};
        System.out.println(c);
        fun(c);
        System.out.println(c[0]);
    }

    //基本类型[byte short int long float double boolean char]传递: 相当于做了copy功能
    public static void fun(int a) {
        a = 15;
    }

    public static void fun(int[] a) {
        a[0] = 15;
    }
}

 22.3储物柜系统(面试题)

  • 1.控制语句

  • 2. 数组

  • 3. 随机数

  • 4.Scanner

完成界面
//1.界面的展示
    public static void view(){
        System.out.println("~~~~~~~~~~~欢迎进入AAA超市储物柜系统~~~~~~~~~~~~~~~\n");
        //循环一半储物柜
        for(int i=0;i<box.length/2;i++){
             //表示该储物柜里面没有存放内容
             if(box[i]==0){
                 System.out.print("□\t");
             }else{
                 System.out.print("■\t");
             }
        }
        System.out.println();
        //循环打印柜子的编号
        for(int i=0;i<box.length/2;i++){
            System.out.print(i+1+"\t");
        }
        System.out.println("\n");
        //循环另一半柜子
        for(int i=box.length/2;i<box.length;i++){
            //表示该储物柜里面没有存放内容
            if(box[i]==0){
                System.out.print("□\t");
            }else{
                System.out.print("■\t");
            }
        }
        System.out.println();
        //循环打印柜子的编号
        for(int i=box.length/2;i<box.length;i++){
            System.out.print(i+1+"\t");
        }

        System.out.println("\n");
        System.out.println("1.存包\t2.取包\t3.退出");
    }

存包功能

//2. 存包
    public static void save() {
        boolean flag = true;//表示储物柜已满
        for(int i=0;i<box.length;i++){
            //表示该柜子空
            if(box[i]==0){
                //1.随机生成一个5位数的密码。10000~99999
                Random random=new Random();
                int pwd=  random.nextInt(90000)+10000;
                box[i]=pwd;
                System.out.println("请使用"+(i+1)+"号箱,密码为:"+pwd);
                flag=false;
                break;
            }
        }
        if(flag==true){
            System.out.println("对不起,储物柜已满.");
        }
    }

22.4取包

//3.取包
    public static void take(int num,int pwd){
         if(num<0||num>box.length){
             System.out.println("请输入正确的箱号");
         }else{
             //表示箱号和密码正确
             if(box[num-1]==pwd){
                 box[num-1]=0;
                 System.out.println(num+"号箱被打开...");
             }else{
                 System.out.println("箱号或密码错误.");
             }
         }



    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光明是人的信仰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值