目录
前言:
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]);
}
}
}
今天的内容到这里就结束了,感谢大家的阅读。
如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!