买飞机票:
package specialExercise;
import java.util.Scanner;
public class buyPlanTicket {
/*
* 专题练习一:
* 机票价格按照淡季旺季,头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。
* 按照如下规则计算机票价格:
* 旺季(5-10月) 头等舱9折,经济舱8.5折,
* 淡季(11月到来年4月)头等舱7折,经济舱6.5折
*
* 分析:
* 1. 键盘录入机票原价、月份、舱选择
* 2. 先判断月份是淡季还是旺季
* 3. 继续判断是头等舱还是经济舱
* */
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入机票的原价");
int ticket = sc.nextInt();
System.out.println("请输入当前的月份");
int month = sc.nextInt();
System.out.println("请输入当前购买的舱位 0 头等舱 1 经济舱");
int seat = sc.nextInt();
if(month >=5 && month <=10) {
// 旺季
ticket = calcTicketPrice(seat,0.9,0.85,ticket);
} else if((month >=1 && month<=4) || (month >= 11 && month <= 12)) {
//淡季
ticket = calcTicketPrice(seat,0.7,0.65,ticket);
} else {
System.out.println("键盘录入的月份不合法");
}
System.out.println("价格" + ticket);
}
public static int calcTicketPrice(int seat, double v0, double v1, int price) {
if(seat == 0) {
// 头等舱
price = (int)(price * v0);
} else if(seat ==1) {
// 经济舱
price = (int)(price *v1);
} else {
System.out.println("没有这个舱位");
}
return price;
}
}
idea:快捷键 - ctrl + alt + m 自动抽取方法
验证码:
package specialExercise;
import java.util.Random;
public class validateCode {
public static void main(String[] args) {
/*
* 开发验证码
* 验证码格式:
* 长度为5
* 前四位是大写字母或者小写字母
* 最后一位是数字
* */
// 1. 大写字母和小写字母都放在数组当中
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 result = "";
// 2. 随机四次
Random r = new Random();
for (int i = 0; i < 4; i++) {
int randomIndex = r.nextInt(chs.length);
result = result + chs[randomIndex];
}
//3. 随机抽取一个数字0-9
int number = r.nextInt(10);
result = result +number;
System.out.print(result);
}
}
数组的赋值:
package specialExercise;
public class copyArray {
//把一个数组复制到另一个数组中去;
public static void main(String[] args) {
int[] oldArray = {1,2,3,4,5};
int[] newArr = new int [oldArray.length];
for (int i = 0; i < oldArray.length; i++) {
newArr[i] = oldArray[i];
}
for (int i = 0; i < newArr.length; i++) {
System.out.println(newArr[i]);
}
}
}
打分:
package specialExercise;
import java.util.Scanner;
public class doGrade {
public static void main(String[] args) {
//定义一个数组,用来存储6名评委的打分
int[] scoreArr = getGrade();
int max = getMax(scoreArr);
int min = getMin(scoreArr);
int sum = getSum(scoreArr);
int result = (sum - max - min)/(scoreArr.length - 2);
System.out.println("最终分数" + result);
}
//求和
public static int getSum(int[] scoreArr) {
int sum = 0;
for (int i = 0; i < scoreArr.length; i++) {
sum = sum + scoreArr[i];
}
return sum;
}
// 求最大值
public static int getMax(int[] scoreArr) {
int max = scoreArr[0];
for (int i = 0; i < scoreArr.length; i++) {
if(scoreArr[i] > max) {
max = scoreArr[i];
}
}
return max;
}
// 求最小值
public static int getMin(int[] scoreArr) {
int min = scoreArr[0];
for (int i = 0; i < scoreArr.length; i++) {
if(scoreArr[i] < min) {
min = scoreArr[i];
}
}
return min;
}
public static int[] getGrade() {
int[] scores = new int[6];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < scores.length;) {
System.out.println("请输入分数");
int score = sc.nextInt();
if(score >=0 && score <=100) {
scores[i] = score;
i++;
} else {
System.out.println("成绩超出了范围,继续录入");
}
}
return scores;
}
}
shift + f6 一键替换
双色球.
package specialExercise;
import java.util.Random;
import java.util.Scanner;
public class doubleColorBall {
public static void main(String[] args) {
// 1. 生成中奖号码
int[] arr = createNumber();
int[] userInputArr = userInput();
// 判断用户中奖情况
int redCount = 0;
int blurCount = 0;
// 判断红球
for (int i = 0; i < userInputArr.length -1; i++) {
int redNmuber = userInputArr[i];
for (int j = 0; j < arr.length -1 ; j++) {
if(redNmuber == arr[j]) {
redCount ++;
break;
}
}
}
// 判断蓝球
int blueNumber = userInputArr[userInputArr.length -1];
if(blueNumber == arr[arr.length - 1]) {
blurCount++;
}
//根据红球的个数以及蓝球的个数来判断中奖情况
if(redCount == 6 && blueNumber ==1) {
System.out.println("中奖10000万");
} else if(redCount == 6 && blueNumber ==0) {
System.out.println("中奖500万");
}else if(redCount == 5 && blueNumber ==1) {
System.out.println("中奖3000");
}else if((redCount == 5 && blueNumber ==0) || (redCount == 4 && blueNumber ==1) ) {
System.out.println("中奖200");
}else if((redCount == 4 && blueNumber ==0) || (redCount == 3 && blueNumber ==1) ) {
System.out.println("中奖10");
}else if((redCount == 2 && blueNumber ==1) || (redCount == 1 && blueNumber ==1) || (redCount == 0 && blueNumber ==1) ) {
System.out.println("中奖5");
} else {
System.out.println("谢谢参与");
}
}
public static int[] userInput() {
// 1. 创建数组用于添加用户购买的彩票号码
// 6个红球 1个蓝球 数组长度7
int[] arr = new int[7];
// 2. 键盘录入
Scanner sc = new Scanner(System.in);
// 3. 让用户输入红球号码
for (int i = 0; i < 6;) {
System.out.println("请输入第" + (i + 1) + "个红球号码");
int redNumebr = sc.nextInt();
// redNumber在1-33 唯一不重复
if(redNumebr >=1 && redNumebr <=33) {
if(!contain(arr,redNumebr)) {
arr[i] = redNumebr;
i++;
} else {
System.out.println("当前号码已经存在,请重新输入");
}
} else {
System.out.println("红球号码超出范围");
}
}
// 4. 让用户输入蓝球号码
System.out.println("请输入蓝球号码");
while (true) { // ctrl + alt + t 快速生成判断语句
int blueNumber = sc.nextInt();
if(blueNumber >=1 && blueNumber <=16) {
arr[arr.length -1] = blueNumber;
break;
} else {
System.out.println("当前蓝球号码超出范围");
}
}
return arr;
}
public static int[] createNumber() {
//1. 创建数组用于添加中奖号码
// 6个红球 1个蓝球 数组长度为7
int[] arr = new int[7];
// 2. 随机生成号码并添加到数组当中
//红球:不能重复的
//蓝球:可以和红球号码重复
// 生成红球号码并添加到数组当中
Random r= new Random();
for (int i = 0; i < 6;) {
int redNumber = r.nextInt(33) + 1; // 这里+1是为了防止出现 0
boolean flag = contain(arr,redNumber);
if(!flag) {
arr[i] = redNumber;
i++;
}
}
int blueNumber = r.nextInt(16) + 1;
arr[arr.length - 1] = blueNumber; // 把蓝球的值赋值到最后一个是因为蓝球是最后一位
return arr;
}
// 用于判断数字在数组中是否重复
public static boolean contain(int[] arr,int number) {
for (int i = 0; i < arr.length; i++) {
if(arr[i] == number) {
return true;
}
}
return false;
}
}
验证码:
package specialExercise;
import java.util.Random;
public class validateCode {
public static void main(String[] args) {
/*
* 开发验证码
* 验证码格式:
* 长度为5
* 前四位是大写字母或者小写字母
* 最后一位是数字
* */
// 1. 大写字母和小写字母都放在数组当中
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 result = "";
// 2. 随机四次
Random r = new Random();
for (int i = 0; i < 4; i++) {
int randomIndex = r.nextInt(chs.length);
result = result + chs[randomIndex];
}
//3. 随机抽取一个数字0-9
int number = r.nextInt(10);
result = result +number;
System.out.print(result);
}
}