ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java学习之余的几个简单基础案例

2022-08-07 00:02:07  阅读:213  来源: 互联网

标签:java String int System 验证码 案例 static 之余 public


最近跟着B站上的黑马程序员学习Java,在上课期间老师讲解了几个有趣的基础案例,我想将下面几个案例分享给大家。

1.买飞机票

需求:

1.机票价格按着淡季旺季,头等舱与经济舱收费,输入机票原价、月份和经济舱还是头等舱。

2.机票的优惠价格如下:旺季(5-10月)头等舱九折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折

这道小题主要是来练习switch语句,if语句在Java语言上的用法(跟c++用法一样)

package 练习;

import java .util. Scanner;
public class plane {
    public static void main (String[] args) {
        //目标:完成买飞机票的价格计算。
        //1.让用户输入机票原价,月份,仓位类型
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入机票原价: ");
        double money =sc.nextDouble();
        System.out.println("情请输入机票的月份(1-12):");
        int month =sc.nextInt();
        System.out.println(" 请选择仓位类型: ");
        String type=sc.next();
        //4.调用方法
        System.out.println("机票优惠后的价格是:"+ calc(money,month,type));
        }
    
    
//2.定义方法接收信息,统计优惠后的价格返回
public static double calc(double money,int month,String type)
{
    //判断用户选择的信息情况
    if(month>=5&&month<=10)
    {
        //旺季
        switch(type)
        {
        case "头等舱":
            money*=0.9;
            break;
        case"经济舱":
            money*=0.85;
            break;
            default :
                System.out.println("您输入的仓位类型有误");
                money=-1;//表示信息错误
        }
    }else if(month==11||month==12||month>=1&&month<=4)
    {

        //淡季
        switch(type)
        {
        case "头等舱":
            money*=0.7;
            break;
        case"经济舱":
            money*=0.65;
            break;
            default :
                System.out.println("您输入的仓位类型有误");
                money=-1;//表示信息错误
        }
    }else {
        System.out.println("对不起,你输入的月份有误");
        money=-1;//表示信息错误
    }
    return money;
}
}

2.找素数

需求:判断101-200之间有多少个素数,并输出所有素数。

package 练习;
/**
 * 需求:找到101-200之间的所有素数输出;
 */
public class sushu {

    public static void main(String[] args)
    {
        //定义一个循环,找101-200之间的素数
        for(int i=101;i<=200;i++)
        {
            //1.i=101 102 103 104 .....199 200
            //信号位:标记
            boolean flag=true;//一开始都认为是素数
            //2.判断当前遍历的这个数据是否为素数
            for(int j=2;j<i/2;i++)
            {
                if(i%j==0)
                {
                    flag=false;
                    break;
                }
            }
            //3.根据判断的结果选择是否输出
            if(flag)
            {
                System.out.println(i +"\t");
            }
        }
        
    }
}

3.开发验证码

需求:定义一个方法随机生成5位验证码,每位可能是数字,大写字母,也可能是小写字母

package 练习;
import java.util.Random;
//需求:定义一个方法随机生成5位验证码,每位可能是数字,大写字母,也可能是小写字母
public class yanzhengma {
    public static void main(String [] args)
    {
        //调用获取验证码的方法得到一个随机验证码
        String code =creatcode(5);
        System.out.println("随机验证码:"+code);
    }
/**
 * 1.定义一个方法返回一个随机验证码
 */
    public static String creatcode (int n)
    {
        String code=" ";
        Random r=new Random();
        //2.定义一个for循环,循环n次,生成随机字符
        for(int i=0;i<n;i++)
        {
            //3.生成一个随机字符;
            int type =r.nextInt(3);
            switch(type)
            {
            case 0:
                //大写字符(A 65-Z 65+25) (0-25)+65
                char ch =(char)(r.nextInt(26)+65);
                code+=ch;
                break;
            case 1:
                //小写字符(a 97-z 97+25) (0-25)+97
                char ch1 =(char)(r.nextInt(26)+97);
                code+=ch1;
                break;
            case 2:
                //数字字符
                code+= r.nextInt(10);
                break;
                
            }
            
        }
        return code;
    }
}

4.数组元素的复制

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

package 练习;

public class shuzu {
    public static void main (String[] args)
    {
        int []arr1= {11,22,33,44};
        
        int []arr2=new int [arr1.length];
        copy(arr1,arr2);
    }
    
    public  static void printArray(int[]arr)
    {
        System.out.println("[");
        for(int i=0;i<arr.length;i++)
        {
            System.out.println(i==arr.length-1 ? arr[i]:arr[i]+",");
            
        }
        System.out.print("]");
    }
public static void copy(int[] arr1,int[]arr2)
{
    for(int i=0;i<arr1.length;i++)
{
    arr2[i]=arr1[i];
}
}
}

5.评委打分

需求:在唱歌比赛中,有六个评委给学生打分,分数范围为[0-100]之间的整数,选手的得分为:去掉一个最高分和一个最低分后的四个数来求平均值

package 练习;
/**
在唱歌比赛中,有六个评委给学生打分,分数范围为[0-100]之间的整数,
选手的得分为:去掉一个最高分和一个最低分后的四个数来求平均值
*/
import java.util.Scanner;
public class dafen {
    public static void main (String[] args)
    {
        //1.定义一个动态初始化的数组,用于后期录入6个评委的分数
        int []scores =new int [6];
        //2.录入6个评委的分数
        Scanner sc=new Scanner(System.in);
        for(int i=0;i<scores.length;i++)
        {
            System.out.println("请输入第"+(i+1)+"个评委的打分");
            int score =sc.nextInt();
            //3.把这个分数存入到数组的对应位置处
            scores[i]=score;
        }
        //4.遍历数组中的每个数组,找出最大值、最小值、总分
        int max=scores[0];
        int min =scores[0],sum=0;
        for(int i=0;i<scores.length;i++)
        {
            if(scores[i]>max)//最大值
            {
                max=scores[i];
            }
            if(scores[i]<min)//最小值
            {
                min=scores[i];
            }
            //计算总分
            sum+=scores[i];
        }
        System.out.println("选手的最高分为:"+max);
        System.out.println("选手的最低分为:"+min);
        
        //统计平均分
        double result =(sum-max-min)*1.0/(scores.length-2);
        System.out.println("选手最终得分为:"+result);
        
    }
    

}

 

标签:java,String,int,System,验证码,案例,static,之余,public
来源: https://www.cnblogs.com/jiacheng-712/p/16558234.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有