目录
前言:
1.买飞机票
2.找质数:
3.开发验证码:
4.数组元素的复制:
5.评委打分:
6.数字加密:
前言:
本篇将起到总结的作用,利用具体案例来带我们复习JAVA的基础内容:数组,判断条件,数组,二维数组。如果是初学者可以收藏本片博文自己尝试完成这些案例。
1.买飞机票
机票价格按照淡季旺季,头等舱和经济舱收费,输入机票原价,月份和头等舱或经济舱。
按照以下规则进行计算机票实际价格:旺季(5-10月) 头等舱九折,经济舱8.5折,淡季(11月带到第二年四月)头等舱七折,经济舱6.5折
简单的if判断。
package com.itheima.demo1;
import java.util.Scanner;public class test02 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入机票原价:");int tacketprict= sc.nextInt();System.out.println("请输入购买的位置(1/0)");int set=sc.nextInt();System.out.println("请输入当前月份");int mounth = sc.nextInt();int finaltacket=0;if(mounth>=5&&mounth<=10){if(set==0){finaltacket= (int) (0.9*tacketprict);}else{finaltacket=(int)(0.85*tacketprict);}}else{if(set==0){finaltacket= (int) (0.7*tacketprict);}else{finaltacket=(int)(0.65*tacketprict);}}System.out.println("最终机票的价格为:"+finaltacket);}}
我们可以看到这段代码在判断的时候还是过于重复,于是我们提供一个新的思路:
把重复部分抽象出来,成为一个方法:
package com.itheima.demo1;
import java.util.Scanner;public class test02 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入机票原价:");int tacketprict= sc.nextInt();System.out.println("请输入购买的位置(1/0)");int set=sc.nextInt();System.out.println("请输入当前月份");int mounth = sc.nextInt();System.out.println("最终机票的价格为:"+ tickprice(mounth,set,tacketprict));}public static int tickprice(int mounth,int set,int tacketprict){int finaltacket=0;if(mounth>=5&&mounth<=10){if(set==0){finaltacket= (int) (0.9*tacketprict);}else{finaltacket=(int)(0.85*tacketprict);}}else{if(set==0){finaltacket= (int) (0.7*tacketprict);}else{finaltacket=(int)(0.65*tacketprict);}}return finaltacket;}}
重点:Ctrl+Alt+M键可以在选中区域自动抽取方法。
2.找质数:
输入一个数字,找出从1到这个数字之间的所有质数
质数是指一个大于1的整数,除了1和它本身以外,没有其他的因数能够整除它。换句话说,质数是只能被1和自身整除的正整数。
package com.itheima.demo1;
import java.util.Scanner;public class test03 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int i=sc.nextInt();for(int j=1;j<=i;j++){ boolean judge=true;for(int m=2;m<j/2;m++){if(j%m==0){judge=false;}}if(judge==true){System.out.print(" "+j);}}}
}
3.开发验证码:
定义方法随机产生一个五位的验证码
验证码格式:
- 长度为5
- 前四位是大写字母或者是小写字母
- 最后一位是数字
Java中的随机函数需要一个种子来生成随机数序列。如果没有指定种子,则使用系统时间作为默认种子。可以通过
java.util.Random
类来实现随机数生成。
package com.itheima.demo1;import java.util.Random;public class test04 {public static void main(String[] args) {//在这里我们选取前四位验证码的方法选择创建一个52大小的数组,把a-Z存储进去之后,随机生成0到51数字当作索引下标extracted();}private static void extracted() {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);}}String s="";for(int i=0;i<4;i++){Random r=new Random();//利用随机索引获取元素int index= r.nextInt(chs.length);s=s+chs[index];}Random r=new Random();//利用随机索引获取元素int index= r.nextInt(9);s=s+index;System.out.println(s);}}
4.数组元素的复制:
把数组中的元素赋值到另一个数组中
package com.itheima.demo1;public class test05 {public static void main(String[] args) {int [] arr={1,2,3,4,5};int [] trarr=new int[arr.length];for(int i=0;i<5;i++){trarr[i]=arr[i];}for(int i=0;i<5;i++){System.out.print(trarr[i]);}}}
5.评委打分:
在歌唱比赛中,有六位评委给选手打分,分数范围是[0-100]之间的整数,选手最后的分值为六个评委的平均分。
package com.itheima.demo1;
import java.util.Scanner;public class test05 {public static void main(String[] args) {int nums[]=new int [6];Scanner sc= new Scanner(System.in);for(int i=0;i<6;i++){System.out.println("请输入"+(i+1)+"个裁判的分数");nums[i]=sc.nextInt();}int finalscore;int sum=0;for(int i=0;i<6;i++){sum=sum+nums[i];}finalscore=sum/6;System.out.println("平均分数为:"+finalscore);}}
6.数字加密:
某系统的数字密码(大于0),比如1983,采用加密方式进行传输。
规则如下:
- 先得到每位数字,然后每位数字都加上5,最后再把所有数字反转,得到一串新数字。
package com.itheima.demo1;public class test06 {public static void main(String[] args) {int [] arr={1,9,8,3};//加密for(int i=0;i<4;i++){arr[i]=(arr[i]+5)%10;}int [] newarr=new int [4];int j=0;for(int i=3;i>=0;i--){newarr[j]=arr[i];j++;}System.out.println("加密后的结果为:");for(int i=0;i<4;i++) {System.out.println(newarr[i]);}}
}
今天的内容到这里就结束了,感谢大家的阅读。
如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!