p74 综合练习 01~02 买飞机票和找质数
ctrl + alt + M : 自动抽取方法.
/*
* 1 买飞机票
需求 : 机票的价格按照淡季,旺季,头等舱和经济舱收费, 录入机票的原价,月份和头等舱,经济舱.
按照如下规则计算机票价格 : 旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11-来年4)头等舱7折,经济舱6.5折.
* */
public class PlaneTicket {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Input Price:(number)");
double price = scanner.nextDouble();//原价
System.out.println("Input Month:(1~12)");
int month = scanner.nextInt();//月份
System.out.println("Input IsFirst:(true/false)");
boolean isFirst = scanner.nextBoolean();//是否头等舱
getPrice(price,month,isFirst);
}
public static void getPrice(double price, int month, boolean isFirst) {
if (month >= 5 && month <= 10) {
if (isFirst) {
System.out.println(price * 0.9);
} else {
System.out.println(price * 0.85);
}
} else {
if (isFirst) {
System.out.println(price * 0.7);
} else
System.out.println(price * 0.65);
}
}
}
package Exercise;
/*需求 : 判断101-200之间有多少个质数,并输出所有质数*/
public class FindPrimeNumber {
public static void main(String[] args) {
int count = 0; //质数的个数
//外循环:遍历从101~200, i为被除数
for (int i = 101; i <= 200; i++) {
boolean flag = true; //是否为质数
int j = 2; //j为除数
//内循环:i开始除以j,除数j向上循环累加,也就是i是不是一个质数
while (j < i){ //除数累加到与被除数相等就结束循环
if (i % j == 0){ //被一个数除开
flag = false; //就不是质数
break; //只要被一个数除开就跳出循环
}
j++;//除数j向上循环累加
}
if (flag){ //质数
System.out.println(i);
count++; //累加个数
}
}
System.out.println("有"+ count +"个质数");
}
}
P75 综合练习 03~04 开发验证码和数字元素的复制
p76 综合练习 05 评委打分
p77 综合练习 06 数字加密和解密
p78 综合练习 07 抽奖的两种实现方式
p79 综合练习 08 双色球彩票系统
p80 综合练习 09 二维数组
实用代码
//1.数组反转
for (int i = 0,j = arr.length-1; i < j; i++,j--) {
int temp1 = arr[i];
arr[i] = arr[j];
arr[j] = temp1;
}
//2.把数组里的每一个元素进行拼接(数组转整数)
int number1 = 0;//定义数字变量
for (int i = 0; i < arr.length; i++) {
number1 = number1 * 10 + arr[i];
}
//3.计算数字有多少位(数字的长度)
int number = 12345;
//定义一个变量进行统计
int count = 0;
while(number != 0){
//每一次循环就去掉右边的数字
number = number / 10 ;
//去掉一位计数器就自增一次
count ++;
}
System.out.println(count);//count就是number的位数.
//4.把整数上的每一位都添加到数组里
int[] arr = new int[count];//数组长度就是整数的位数
//把整数的每一位赋值给数组
int index = arr.length - 1;//新数组的索引,要从最大索引开始赋值,所以初始值是最大索引,再循环自减
for (int i = 0; i < count; i++) {
int ge = temp % 10; //被10取模得到最右边一位
temp = temp / 10; //再去掉这个数字
arr[index] = ge;//赋值给数组最后一个元素
index--; //再倒数第二个元素
}