数组小练习

《1》定义方法完成练习 获取两个数中的最大值获、比较两个数据是否相等、获取三个数据中的较大值

public static void main(String[] args) {
              int max =getMax(1, 2);
              System.out.println("最大值是:"+max);

              boolean c = compare(2, 2);
              System.out.println("两个数是否相等:"+c);

              int max_2 = getMax_2(1, 2, 3);
              System.out.println("三个数中的最大值是:"+max_2);
    }

    //定义方法完成练习 获取两个数中的最大值
    public static int getMax(int a,int b){
        return a==b?a:b;
    }

    //比较两个数据是否相等
    public static boolean compare(int a,int b){
          return a==b;      
    }

    //获取三个数据中的较大值
    public static int getMax_2(int a,int b,int c){
                if(a>b){
                    if(a>c){
                        return a;
                    }else{
                        return c;
                    }
                }else{
                    if(b>c){
                        return b;
                        }else{
                            return c;
                        }
                }       
    }

《2》定义方法完成打印1到n之间的数据练习、打印所有的水仙花数练习

public static void main(String[] args) {
        // TODO Auto-generated method stub
          print(10);
          System.out.println("__________");
          printFlower();
    }
//定义方法完成打印1到n之间的数据练习
public static void print(int n){
        for(int i=1;i<=n;i++){
            System.out.println(i);
        }
    }

    //打印所有的水仙花数练习
    public static void printFlower(){
        for(int i=100;i<1000;i++){
            int bai = i/100;
            int shi = i/10%10;
            int ge = i%10;
            if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
                System.out.println("水仙花数有:"+i);
            }
        }
    } 

《3》方法重载的特点

方法名相同 参数列表中参数类型 顺序 个数不同 和返回值类型无关

《4》完成方法重载练习之比较数据是否相等

public static void main(String[] args) {
     System.out.println(compare(10, 20));
     System.out.println(compare((short)10, (short)20));
     System.out.println(compare((byte)10, (byte)20));
     System.out.println(compare(10L, 20L));
}

public static boolean compare(int a,int b){
    return a==b;
}

public static boolean compare(short a,short b){
    return a==b;
}

public static boolean compare(byte a,byte b){
    return a==b;
}

public static boolean compare(long a,long b){
    return a==b;
}

《5》基本数据类型作为参数传递和引用数据类型作为参数传递的的区别

 基本数据类型:形参不改变实参 引用数据类型:形参改变实参

《6》定义方法完成: 数组遍历练习、数组获取最值练习、数组元素求和

          public static void main(String[] args) {    
        int[] arr={1,2,3,4};
        bianLi(arr);
        System.out.println("__________");
        int max =getMax(arr);
        System.out.println("最大值是:"+max);
        System.out.println("__________");
        int sum = getSum(arr);
        System.out.println("数组的和是:"+sum);
        }
        public static void bianLi(int[] arr){
        for(int i=0;i<arr.length;i++){
        System.out.println(arr[i]);
        }
        }

public static int getMax(int[] arr){
int max =arr[0];
for(int i=0;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
}
return max;
}
 public static int getSum(int[] arr){
 int sum=0;
 for(int i=0;i<arr.length;i++){
 sum+=arr[i];
 }
 return sum;
 } 

《1》写出根据月份输出对应季节的两种实现方式(if和switch)

public static void main(String[] args) {    
        getSeason();
        getSeason_2();
    }

    //一年有四季3,4,5春季6,7,8 夏季9,10,11秋季12,1,2冬季
    public static void getSeason(){
        Scanner bi = new Scanner(System.in);
        System.out.println("请输入月份:");
        int month = bi.nextInt();
        if(month>=3 && month<=5){
            System.out.println(month+"月是春季");
        }
        else if(month>=6 && month<=8){
            System.out.println(month+"月是夏季");
        }
        else if(month>=9 && month<=11){
            System.out.println(month+"月是秋季");
        }
        else if(month==1 || month==2 ||month==12){
            System.out.println(month+"月是冬季");
        }
        else{
            System.out.println("你输入的季节有误");
        }
    }


    public static void getSeason_2(){

        Scanner bi = new Scanner(System.in);
        System.out.println("请输入月份:");
        int month = bi.nextInt();
        switch(month){
        case 1:
        case 2:
        case 12:
            System.out.println(month+"月是冬季");
            break;
        case 3:
        case 4:
        case 5:
            System.out.println(month+"月是春季");
            break;
        case 6:
        case 7:
        case 8:
            System.out.println(month+"月是夏季");
            break;
        case 9:
        case 10:
        case 11:
            System.out.println(month+"月是秋季");
            break;
        default:
            System.out.println("你输入的月份有误");
            break;

        }
    }

《2》写出求回文数的案例

public static void main(String[] args) {
        getHuiWen();
    }
    public static void getHuiWen(){
        for(int i=10000;i<100000;i++){
            int ge =i%10;
            int shi =i/10%10;
            int qian =i/10/10/10%10;
            int wan =i/10/10/10/10%10;
            if(ge==wan && shi==qian){
                System.out.println(i);
            }           
        }
    }

《3》写出求不死神兔的案例

    //一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
     //假如兔子都不死,问第二十个月的兔子对数为多少?

     public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr=new int[20];
        Rabbit(arr);
    }

    public static void Rabbit(int[] arr){

        arr[0] =1;
        arr[1] = 1;

        for(int i=2;i<arr.length;i++){
            arr[i]=arr[i-2]+arr[i-1];
        }
        System.out.println("第二十个月的时候兔子数量为:"+arr[19]);
    }

《4》写出求出满足要求的数组元素和的案例
需求:

public static void main(String[] args) {        
                  int[] arr ={171,72,19,16,118,51,210,7,18};
                  int sum =getSum(arr);
                  System.out.println("求和的值是:"+sum);
            }
            //1)定义一个int类型的一维数组,内容为{171,72,19,16,118,51,210,7,18}
             // (2)求出该数组中满足要求的元素和。
             //     要求:求和的元素的个位和十位不能包含7,并且只能为偶数。
              public static int getSum(int[] arr){
                  int sum =0;
                  for(int i=0;i<arr.length;i++){
                      if(arr[i]%10!=7 && arr[i]/10%10!=7 && arr[i]%2==0){
                          sum+=arr[i];
                      }
                  }
                  return sum;
              }

《5》写出评委打分案例

public static void main(String[] args) {
            // TODO Auto-generated method stub
            int[] arr =new int[6];
            int avg =getAvg(arr);
            System.out.println(avg);

        }
        //需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
            //选手的最后得分为:去掉一个最高分和一个最低分后 其余4个选手的平均值。
        public static int getAvg(int[] arr){

            for(int i=0;i<arr.length;i++){
            Scanner zsq = new Scanner(System.in);
            System.out.println("请输入选手的得分:");
            int num =zsq.nextInt();
                arr[i] = num;
            }
            int max = getMax(arr);
            int min =getMin(arr);
            int sum =getSum(arr);
            int avg =(sum-max-min)/(arr.length-2);
            return avg;
        }

        public static int getSum(int[] arr){
            int sum = 0;
            for(int i=0;i<arr.length;i++){
                sum+=arr[i];
            }
            return sum;
        }

        public static int getMax(int[] arr) {
            int max = arr[0];

            for(int i=1; i<arr.length; i++) {
                if(arr[i] > max) {
                    max = arr[i];
                }
            }       
            return max;
        }

        public static int getMin(int[] arr) {
            int min = arr[0];

            for(int i=1; i<arr.length; i++) {
                if(arr[i] < min) {
                    min = arr[i];
                }
            }

            return min;
        }

《6》写出数组元素反转案例

public static void main(String[] args) {
            int[] arr = {1,2,3,4,5};
            printArray(arr);
            reverse(arr);
            printArray(arr);
        }   
         //需求:(1)键盘录入5个int类型的数据存储数组arr中
         //(2)定义方法将arr数组中的内容反转
         //(3)定义方法对反转后的数组进行遍历
public static void reverse(int[] arr){

    for(int str=0,end=arr.length-1;str<end;str++,end--){
         int temp =arr[str];
         arr[str] = arr[end];
         arr[end] = temp;
    }
}

 public static void printArray(int[] arr){

        System.out.print("[");
        for(int i=0;i<arr.length;i++){
        if(i!=arr.length-1){
             System.out.print(arr[i]+",");
         }else{
             System.out.println(arr[i]+"]");
         }  
         }
     }

《7》写出数组加密案例

    public static void main(String[] args) {

    Scanner zsq = new Scanner(System.in);
    System.out.println("请输入一个四位数:");
    int num = zsq.nextInt();

    int ge =num%10;
    int shi = num/10%10;
    int bai = num/10/10%10;
    int qian = num/10/10/10%10;

    int[] arr = new int[4];
    arr[0] = qian;
    arr[1] = bai;
    arr[2] = shi;
    arr[3] = ge;

    int temp=arr[0];
    arr[0] = arr[3];
    arr[3] = temp;

    int temp2 =arr[1];
    arr[1] = arr[2];
    arr[2] =temp2;

    for(int i=0;i<arr.length;i++)
    {
        System.out.println(arr[i]);
    }
    System.out.println();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值