2.6 综合练习

1.买飞机票

需求:机票价格按照淡季旺季,头等舱和经济舱,输入机票原价,月份,头等舱或者经济舱;按照如下规则计算机票价格:旺季(5-10月) 头等舱9折,经济舱8.5折;淡季(11月到下一年4月) 头等舱7折,经济舱6.5折

答案:

[content_hide]

import java.util.Scanner;  
  
public class IT梦 {  
    public static void main(String[] args) {  
        Scanner sc = new Scanner(System.in);  
        System.out.println("请输入机票原价");  
        int plantPrice = sc.nextInt();  
        System.out.println("请输入月份");  
        int month = sc.nextInt();  
        System.out.println("请输入头等舱(0)还是经济舱(1)");  
        int place = sc.nextInt();  
        if(5<=month && month<=10){  
            plantPrice = getPrice(plantPrice,place,0.9,0.85);
        }else if((month>=1 && month<=4) || (month>=11 && month<=12)){  
            plantPrice = getPrice(plantPrice,place,0.7,0.65); 
        }else{  
                 System.out.println("没有这个月份");  
            }     
            System.out.println("机票的实际价格为:" + plantPrice + "元");  
    }
    public static int getPrice(int plantPrice,int place, double d0,double d1){  
            if(place == 0){  
                 plantPrice = (int)(plantPrice * d0);  
            }else if(place == 1){  
                 plantPrice = (int)(plantPrice * d1);  
            }else {  
                 System.out.println("没有这个舱位");  
            }  
            return plantPrice;  
    }
}

图片[1]-2.6 综合练习-IT熊技术站

[/content_hide]

2.找质数
需求:判断101~200之间有多少个质数,并输出打印所有质数

答案:

[content_hide]

public class IT梦 {  
    public static void main(String[] args){  
        int number = 0;  
        for (int i = 101; i < 200; i++) {  
            boolean flag = true;  
            for (int j = 2; j < i; j++) {  
                if(i % j == 0){  
                    flag = false;  
                    break;  
                }  
            }  
            if(flag){  
                System.out.println("当前数字" + i + "是质数");  
                number++;  
            }  
        }  
        System.out.println("质数一共有" + number + "个");  
    }  
}

图片[2]-2.6 综合练习-IT熊技术站

[/content_hide]

3.生成验证码
需求:用程序随机生成一个五位数的验证码
代码格式:长度为5,前四位是大写字母或者小写字母,最后一位是数字

答案:

[content_hide]

import java.util.Random;  
  
public class IT梦 {  
    public static void main(String[] args){  
        char []arr = new char[52];  
        for (int i = 0; i < arr.length; i++) {  
            if(i <= 25){  
                arr[i] = (char)(97 + i);  
            }else {  
                arr[i] = (char)(65 + i - 26);  
            }  
        }  
        Random r = new Random();  
        String result = "";  
        for (int i = 0; i < 4; i++) {  
            int index = r.nextInt(52);  
            result = result + arr[index];  
        }  
        int number = r.nextInt(10);  
        result = result + number;  
        System.out.println("验证码为:" + result);  
    }  
}

图片[3]-2.6 综合练习-IT熊技术站

[/content_hide]

4.数组元素的复制
需求:把一个数组中的元素复制到另一个新数组中去

答案:

[content_hide]

public class IT梦 {  
    public static void main(String[] args){  
        int []arr = {1,2,3,4,5};  
        int []newArr = new int[arr.length];  
        for (int i = 0; i < arr.length; i++) {  
            newArr[i] = arr[i];  
        }  
        for (int i = 0; i < newArr.length; i++) {  
            System.out.print(newArr[i] + " ");  
        }   
    }  
}

图片[4]-2.6 综合练习-IT熊技术站

[/content_hide]

5.评委打分
需求:在歌唱比赛中,有6名评委给选手打分,分数范围是0~100的整数;去掉最高分和最低分后四位评分的平均分就是选手的最后得分,请完成上述过程并计算出选手的最后得分

答案:

[content_hide]

import java.util.Scanner;  
  
public class IT梦 {  
    public static void main(String[] args){  
        int []arr = new int[6];  
        Scanner sc = new Scanner(System.in);  
        for (int i = 0; i < arr.length;) {  
            System.out.println("请输入第" + (i+1) + "位评委的分数");  
            int number = sc.nextInt();  
            if(number >= 0 && number <= 100){  
                arr[i] =number;  
                i++;  
            }else {  
                System.out.println("成绩不合理,请重新输入");  
            }  
        }  
        int max = arr[0];  
        for (int i = 1; i < arr.length; i++) {  
            if(arr[i] > max){  
                max = arr[i];  
            }  
        }  
        int min = arr[0];  
        for (int i = 0; i < arr.length; i++) {  
            if(arr[0] < min){  
                min = arr[i];  
            }  
        }  
        int count = 0;  
        for (int i = 0; i < arr.length; i++) {  
            count = count + arr[i];  
        }  
        int result = (count-max-min)/ (arr.length-2);  
        System.out.println("选手的最终得分为:" + result);  
    }  
}

图片[5]-2.6 综合练习-IT熊技术站

[/content_hide]

6.数字加密
需求:键盘录入一个大于0的密码(例如1983),采用加密的方式进行传输
加密规则:先得到每位数,然后每位数都加上5,在对10求余,最后将所有数字反转,得到一串新数

答案:

[content_hide]

import java.util.Scanner;  
  
public class IT梦 {  
    public static void main(String[] args){  
        Scanner sc = new Scanner(System.in);  
        System.out.println("请输入一个大于0的密码");  
        int password = sc.nextInt();  
        int number = password;  
        int count = 0;  
        while (password != 0){  
            password = password / 10;  
            count++;  
        }  
        int []arr = new int[count];  
        int index = arr.length - 1;  
        while(number != 0){  
            int ge = number % 10;  
            number = number / 10;  
            arr[index] = ge;  
            index--;  
        }  
        for (int i = 0; i < arr.length; i++) {  
            arr[i] = (arr[i] + 5) % 10;  
        }  
        for (int i = 0,j = arr.length - 1; i < j; i++,j--) {  
            int temp = arr[i];  
            arr[i] = arr[j];  
            arr[j] = temp;  
        }  
        String result = "";  
        for (int i = 0; i < arr.length; i++) {  
             result = result + arr[i];  
        }  
        System.out.println(result);  
    }  
}

图片[6]-2.6 综合练习-IT熊技术站

[/content_hide]

7.抽奖
需求:抽奖活动,奖品是现金红包,分别有{2,588.888,1000,10000}五个奖金,请用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复

效果如下:(顺序可以不一样,效果得一样)
2元的奖金被抽出
588元的奖金被抽出
888元的奖金被抽出
1000元的奖金被抽出
10000元的奖金被抽出

答案:

[content_hide]

import java.util.Random;  
  
public class IT梦 {  
    public static void main(String[] args){  
        int []arr = {2,588,888,1000,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] + "元的奖金被抽出");  
        }  
    }  
}

图片[7]-2.6 综合练习-IT熊技术站

[/content_hide]

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容