6.java基础----短暂总结编程题

6.java基础----短暂总结编程题

案例一:买飞机票

package com.china.homework;

import java.util.Scanner;
//案例一买机票
/* 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。
  按照如下规则计算机票价格:旺季(6-10月)头等舱9折,经济舱8.5折,其余月份为淡季头等舱7折,经济舱6.5折*/
public class Test11 {

    public static void main(String[] args) {
        double price=getPrice();
        System.out.println("现在机票的价格是:"+price+"元");
    }

    public static double getPrice()
    {
        System.out.println("请输入价格");
        double price = getDada();
        System.out.println("请输入月份");
        double month = getDada();
        System.out.println("请选择舱号类型:1.(头等舱),2.(经济舱)");
        double type = getDada();
        if (month >= 6 && month <= 10) {//旺季(6-10月)
            if (type == 1) {
                System.out.println("头等舱");
                price *= 0.9;
            } else if (type == 2) {
                System.out.println("经济舱");
                price *= 0.85;
            } else {
                System.out.println("没有该类型");
            }
        } else {
            if (type == 1) {
                System.out.println("头等舱");
                price *= 0.7;
            } else if (type == 2) {
                System.out.println("经济舱");
                price *= 0.65;
            } else {
                System.out.println("没有该类型");
            }

        }
        return price;
    }
    public static double getDada() {
        Scanner scanner = new Scanner(System.in);
        double data = scanner.nextInt();
        return data;
    }

}

案例二:找质数

package com.china.homework;
///找质数
public class Test10 {
    public static void main(String[] args) {
        boolean flag=false;
        for(int i=101;i<201;i++)
        {

            for(int j=2;j<i;j++)
            {
                if(i%j==0)
                {
                    flag=true;
                    break;
                }
            }

            if(flag==false)
            {
                System.out.println(i+"是质数");
            }

            flag=false;
        }


    }
}

案例三:开发验证码

package com.china.homework;

import java.util.Random;
//案例三验证码
//定义方法实现随机产生一个5位数的验证码,每位可能是数字、大写字母、小写字母。
public class Test13 {
    public static void main(String[] args) {
        char[] c=method();
        System.out.println(getCode(4,c));
    }
    public  static String getCode(int num,char[] chars)
    {
            String s="";
            Random random=new Random();

            for(int k=0;k<num;k++)
            {
                int i=random.nextInt(62);//随机5个数字
                s+=chars[i];//num代表拼接了次从62个字符里面选的然后再拼接
            }

            return s;
    }

    public static  char[] method()
    {
        char[] chars=new char[62];
            int index=0;
         for(char num='0';num<='9';num++)
         {
              chars[index]=num;
               index++;
         }

        for (char upCase = 'A'; upCase <='Z'; upCase++) {
                      chars[index]=upCase;
                      index++;

        }

        for (char lowCase='a';lowCase<'z'; lowCase++) {
            chars[index]=lowCase;
            index++;
        }


        return chars;
       /* for(int i=0;i< chars.length;i++)
        {
            System.out.print(chars[i]+" ");
        }*/

    }
}

案例四:数组·元素复制

package com.china.homework;
//案例四数组复制
public class Test14 {
    public static void copy(int[] arr1)
    {
        int[] arr2=new int[arr1.length];
        for(int i=0;i<arr1.length;i++)
        {
           arr2[i]=arr1[i];
        }

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

    }
    public static void main(String[] args) {
           int[] arr1={1,3,6,7};
           copy(arr1);
    }
}

  

案例五:数字元素加密

package com.china.homework;

import java.util.Scanner;

/*案例四加密,某系统的数字密码,比如1983,采用加密方式进行传输,规则如下:先得到每位数,然后每位数都加上5,再对10求余,最后将所有数字反转,得到一串新数。*/
public class Test15 {

    public static  void method()
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个值");
        int num = sc.nextInt();

        int count=1;//数字位数
        int[] arr = new int[num];
        while (true) {
            int ge = num%10;
               //count--;
            arr[count-1] = ge;
            if (num/10==0){
                break;
            }else {
                num/=10;
                count++;
            }
        }
        // count++;
        int[] newarr = new int[count];
        for (int i = 0; i < count; i++) {
            newarr[i] = (arr[i]+5)%10;//输出那么多数组就行,count变量很!重要!
            System.out.print(newarr[i]+"\t");
        }

        //反转
        for(int begin=0,end=newarr.length-1;begin<end;begin++,end--)
        {
            int temp=newarr[end];
             newarr[end]=newarr[begin];
            newarr[begin]=temp;
        }

        String s="";
        for(int i=0;i<newarr.length;i++)
        {
            s+=newarr[i];
        }
        System.out.print("最后的值是"+s);
    }

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

   /* public static void reverseTest(int[] arr) {

    }*/

       /*
    public static void get(int num) {
        int count = 0;
        int[] arr = new int[0];
        while (true) {
            int a = num % 10;
            count++;
            arr[count - 1] = a;
            if (num / 10 == 0) {
                break;
            } else {
                num /= 10;
            }
        }
        int begin = 0;
        int end = arr.length - 1;
        int temp = 0;

        for (begin = 0; begin < end; begin++, end--) {
            temp = arr[end];
            arr[end] = arr[begin];
            arr[begin] = temp;

        }


    }

    public static void main(String[] args) {
        //System.out.println(jiaMi());
        //get(9999);
    }*/
}

案例六:模拟双色球

package com.china.homework;

import java.util.Random;
/* 投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1-33中选择,蓝色球号码从1-16中选择 */
public class Test18 {
    public static void method()
    {
        int[] arr=new int[7];
        /*arr[0]-arr[5]是前6个红色球号码*/
        arr[0]=randomNumber(arr);
        arr[1]=randomNumber(arr);
        arr[2]=randomNumber(arr);
        arr[3]=randomNumber(arr);
        arr[4]=randomNumber(arr);
        arr[5]=randomNumber(arr);
        arr[6]=new Random().nextInt(17)+1;//arr[6]是蓝色球号码
        for(int arr2:arr)
        {
            System.out.print(arr2+" ");
        }
    }


    public static  int randomNumber(int[] arr)

    {
        int number;
        while (true) {
            number = new Random().nextInt(33) + 1;
            boolean flag = false;
            for (int i = 0; i < arr.length - 1; i++) {
                if (number == arr[i]) {
                    flag = true;
                    break;//这里的break只能打断for()循环,无法中断while()循环,所以while可以持续运行直到num符合条件
                }


            }

            if (flag == false) {//说明符合条件
                break;//这里是符合条件所以打断while()大循环·输出number
            }
        }
        return number;//返回的一定是符合条件而且不重复的数字number
    }

    public static void main(String[] args) {
             method();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值