Java笔记_5(数组的综合练习)

综合练习

买飞机票

  • 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。
  • 按照如下规则计算机票价格:
    • 旺季(5-10月)头等舱9折,经济舱8.5折,
    • 淡季(11月到来年4月)头等舱7折,经济舱6.5折。
package IntegratedExercises;

import java.util.Scanner;

public class buyplane {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入购买机票的原价:");
        int ticket = sc.nextInt();
        System.out.println("请输入你购买飞机的月份(1~12):");
        int month = sc.nextInt();
        System.out.println("请输入你购买飞机的舱位 0~头等舱 1~经济舱");
        int set = sc.nextInt();
        if(month>=5&&month<=10){
                 ticket = getprice(ticket,set,0.9,0.85);
        } else if (month>=1&&month<=4||month>=11&&month<=12) {
                ticket = getprice(ticket,set,0.7,0.65);
        }else{
            System.out.println("你所输入的月份不合规定");
        }
        System.out.println("你的飞机票价是:"+ticket);


    }
    public static  int getprice(int ticket,int set,double v0,double v1 ){
        if(set == 0){
            ticket = (int) (ticket*v0);
        } else if (set ==1) {
            ticket = (int) (ticket*v1);
        }else{
            System.out.println("没有相关舱位");
        }
        return ticket;
    }
}
  • ctrl +alt + M 自动抽取方法

开发验证码

在这里插入图片描述

package IntegratedExercises;

import java.util.Random;

public class Text2 {
    public static void main(String[] args) {
        char[] chs = new char[52];
        for (int i = 0;i<chs.length;i++){
            if(i<=25){
                //添加小写字母
                chs[i]= (char)(97+i);
            }else {
                //添加大写字母
                chs[i]=(char)(65+i-26);
            }
        }
        /*for(int i = 0;i<52;i++){
            System.out.println(chs[i]);
        }*/
        //定义一个空字符串,拼接打印的字母
        String result =" ";
        Random r = new Random();
        for(int j = 0;j<4;j++){

            int randomIndex = r.nextInt(chs.length);
            //System.out.print(chs[randomIndex]);
            result = result + chs[randomIndex];
        }
        int number = r.nextInt(10);
        result = result+number;

        System.out.println(result);
    }
}

评委打分

在这里插入图片描述

package IntegratedExercises;
import java.util.Scanner;
public class Text3 {
    public static void main(String[] args) {
       //定义一个数组,存储评委打分
        int[] Arr = getScores();
        for (int i = 0; i < Arr.length; i++) {
            System.out.println(Arr[i]);
        }
        int max = getmax(Arr);
        int min = getmin(Arr);

        int sum =  getSum(Arr);

        int avg =  (sum -max -min)/(Arr.length-2);

        System.out.println("得到的平均分为:"+avg);
    }

    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 getmin(int[] arr){
        int min = arr[0];
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]< min ){
                min  = arr[i];
            }
        }
        return  min ;
    }
    public static int[] getScores(){
            int[] scores = new int[6];
            Scanner sc = new Scanner(System.in);
        for (int i = 0; i <scores.length ; ) {
            System.out.println("请输入评委的打分:");
            int score = sc.nextInt();
            if(score>=0&&score<=100){
                scores[i] = score;
                i++;
            }else {
                System.out.println("成绩超出了范围,当前i为:"+i);
            }
        }
        return scores;
    }
    public static int getSum(int[] scorArr){
        int sum = 0;
        for (int i = 0; i < scorArr.length; i++) {
            sum = sum+scorArr[i];
        }
        return sum;
    }
}


数字加密

在这里插入图片描述

package IntegratedExercises;

import java.util.Scanner;

public class Text4 {
    public static void main(String[] args) {
        System.out.println("请输入你的密码:");
        Scanner sc = new Scanner(System.in);
        int number = sc.nextInt();
        int temp  =number;

        int count = 0;
        while (number!=0){
            number = number/10;
            count++;
        }
        int[]arr = new int[count];
        int[]arr1 = new int[count];

        int index = arr.length - 1;
        while (temp!=0){

            int ge = temp%10;

            temp = temp/10;

            arr[index] = ge;
            index--;
        }

        for (int i = 0; i <arr.length ; i++) {
            arr[i] = arr[i] + 5;
        }
        for (int i = 0; i <arr.length ; i++) {
            arr[i] = arr[i] %10;
        }

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


抢红包

在这里插入图片描述

package IntegratedExercises;

import java.util.Random;

public class Text5 {
    public static void main(String[] args) {
        int [] arr = {2,188,588,8888,10000};

        int [] arr2 = new int [arr.length];

        Random r = new Random();


        for (int i = 0; i < 5; ) {
            int randomindex = r.nextInt(arr.length);

            int price = arr[randomindex];

            boolean flag = getprice(arr2,price);

            if(!flag){

                arr2[i] = price;
                i++;
            }
        }
        for (int i = 0; i <arr2.length ; i++) {
            System.out.println(arr2[i]);
        }
    }
    public static boolean getprice(int[] arr,int price){
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]==price){
                return true;
            }
        }
        return false;
    }    
}
package IntegratedExercises;

import java.util.Random;

public class Text5 {
    public static void main(String[] args) {
        int [] arr = {2,188,588,8888,10000};
        Random r =new Random();
        for(int i =0;i<arr.length;i++){
        	int randomIndex =r.nextInt(arr.length);
        	int temp = arr[i];
        	arr[i] = arr[randomIndex];
        	arr[randomIndex] = temp;
        }
        for(int i =0;i<arr.length;i++){
			System.out.println(arr[i]);
		}
    }    
}


模拟双色球

在这里插入图片描述

package IntegratedExercises;

import java.util.Random;
import java.util.Scanner;

public class Text6 {
    public static void main(String[] args) {
        //生成中奖号码
        int [] arr = creatNumber();

        //用户输入购买号码

        int [] userInputarr = userInput();

        for (int i = 0; i < userInputarr.length; i++) {
            System.out.print(userInputarr[i]+" ");
        }
        System.out.println("------------------------------");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] +" ");
        }

        int redCount = 0;
        int blueCount = 0;
        for (int i = 0; i < userInputarr.length -1; i++) {
            int redNumber = userInputarr[i];
            for (int j = 0; j < userInputarr.length-1; j++) {
                if(redNumber == arr[j]){
                    redCount++;
                    break;
                }
            }
        }

        int blueNumber = userInputarr[userInputarr.length-1];

        if(blueNumber ==arr[arr.length-1]){
            blueCount++;
        }

        System.out.println("红球中奖个数:"redCount);
        System.out.println("蓝球中奖个数:"blueCount);
    }

    public static int[] userInput(){
        int [] arr = new int[7];
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < arr.length-1; ) {
            System.out.println("请输入你要购买的第"+(i+1)+"个红球号码:");
            int rednumber = sc.nextInt();
            //rednumber 在1~33范围且不重复
            if(rednumber>=1&&rednumber<=33){
                boolean flag = container(arr,rednumber);
                if (!flag){
                    arr[i] = rednumber;
                    i++;
                }else {
                    System.out.println("当前红球号码已经存在,请重新输入");
                }
            }
        }

        //用户输入蓝球号码
        while (true) {
            System.out.println("请输入你要购买的蓝球号码:");
            int blueNumber = sc.nextInt();
            if(blueNumber>=1&&blueNumber<=16){
                arr[arr.length-1]= blueNumber;
                break;
            }else {
                System.out.println("输入不符合要求");
            }
        }
        return arr;
    }
    public static int[] creatNumber(){
        int [] arr = new int[7];

        Random r = new Random();
        for(int i = 0; i<6;) {
            int redNumber = r.nextInt(33) + 1;
            boolean flag = container(arr, redNumber);
            if(!flag){
                arr[i]=redNumber;
                i++;
            }
        }
        int blueNumber =  r.nextInt(16)+1;
        arr[arr.length - 1]= blueNumber;
        return arr;
    }
    public static boolean container(int [] arr,int number){
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]==number){
                return true;
            }
        }
        return false;

    }
}

二维数组

  • 静态初始化
    • 格式:数据类型[][]数组名 = new数据类型 [][]{{元素1,元素2},{元素1,元素2}};
    • 范例:int[][]arr = new int[][]{{11,22},{33,44}};
    • 简化格式:数据类型 [][] 数组名={{元素1,元素2},{元素1,元素2}};
  • 动态初始化
    • 格式:数据类型[][]数组名= new 数据类型[m][n];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值