exp1:飞机票
机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。
按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。
import java.util.Scanner;
//机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。
//按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。
public class demo1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入机票钱:");
double price = sc.nextDouble();
System.out.println("输入月份:");
int moth = sc.nextInt();
System.out.println("输入舱位:");
int level = sc.nextInt();
switch (moth){
case 5,6,7,8,9,10 ->{
if (level == 0){
System.out.println("头等舱");
System.out.println(price*0.9);
}else {
System.out.println("经济舱");
System.out.println(price*8.5);
}
}
case 11,12,1,2,3,4 ->{
if (level == 1){
System.out.println("头等舱");
System.out.println(price*0.7);
}else {
System.out.println("经济舱");
System.out.println(price*.5);
}
}
default -> {System.out.println("ERROR");}
}
}
}
改成函数写法:
import java.util.Scanner;
//机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。
//按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。
public class demo1_method {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入机票钱:");
double price = sc.nextDouble();
System.out.println("输入月份:");
int moth = sc.nextInt();
System.out.println("输入舱位:");
int level = sc.nextInt();
double sout = Price(price,moth,level);
System.out.println(sout);
}
public static double Price(double price,int month,int seat){
switch (month){
case 5,6,7,8,9,10 ->{
if (seat == 0){
System.out.println("头等舱");
return price*0.9;
}else {
System.out.println("经济舱");
return price*8.5;
}
}
case 11,12,1,2,3,4 ->{
if (seat== 1){
System.out.println("头等舱");
return price*0.7;
}else {
System.out.println("经济舱");
return price*0.5;
}
}
default -> {
System.out.println("ERROR!");
return -1;
}
}
}
}
exp2:验证码
需求:定义方法实现随机产生一个5位的验证码
验证码格式:
长度为5
前四位是大写字母或者小写字母
最后一位是数字
package day8;
import java.util.Random;
public class demo3 {
public static void main(String[] args) {
Random random = new Random();
char[] arr = new char[52];
//字母存数组
for (int i = 0; i < arr.length; i++) {
if (i <= 25) {
arr[i] =(char)(97+i);
}else {
arr[i] = (char)(65+i-26);
}
}
//抽取四次
String result = "";
for (int i = 0; i < 4; i++) {
int a = random.nextInt(arr.length);
// System.out.print(arr[a]);
result = result+arr[a];
}
// System.out.println(result);
// 随机抽取一个数
int nm = random.nextInt(10);
result = result+nm;
System.out.println(result);
// for (int i = 0; i < arr.length; i++) {
// System.out.print(arr[i] +" ");
// }
}
}
exp3:数组元素复制:
把一个数组中的元素复制到另一个新数组中去。
public class ArrCopy {
public static void main(String[] args) {
int[] ArrOld ={1,2,3,4,5};
int[] ArrNew = new int[ArrOld.length];
for (int i = 0; i < ArrOld.length; i++) {
// System.out.print(ArrOld[i] +" ");
ArrNew[i] = ArrOld[i];
}
for (int i = 0; i < ArrNew.length; i++) {
System.out.print(ArrNew[i] + " ");
}
}
}
exp4:评委打分
在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。
import java.util.Scanner;
public class demo4 {
public static void main(String[] args) {
int[] score = new int[6];
score = score(score);
for (int i = 0; i < score.length; i++) {
System.out.print(score[i]+" ");
}
int max = getmax(score);
int min = getmin(score);
System.out.println("最终得分是:"+arge(score));
}
//均值
public static double arge(int[] arr){
int sum = getsum(arr);
return (double) (sum/arr.length-2);
}
//求和
public static int getsum(int[] arr){
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum = sum+arr[i];
}
sum = sum - getmax(arr) - getmin(arr);
return sum;
}
//打分
public static int[] score(int[] arr){
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 6; ) {
System.out.print("请第"+(i+1)+"评委输入分数:");
int num = sc.nextInt();
if (num <= 0 || num>=100) {
System.out.println("重新输入!");
}else {
arr[i] = num;
i++;
}
}
return arr;
}
//求最大值
public static int getmax(int[] arr){
int max = arr[0];
for (int i = 0; i < arr.length-1; i++) {
if (arr[i+1] > max){
max = arr[i+1];
}
}
return max;
}
//最小值
public static int getmin(int[] arr){
int min = arr[0];
for (int i = 0; i < arr.length-1; i++) {
if (arr[i+1] < min){
min = arr[i+1];
}
}
return min;
}
}