一、买飞机票
public class Main { public static void main(String[] args) { double price = calculate(1000,11,"经济舱"); System.out.println("优惠价是:"+price); } public static double calculate(double price, int month , String type) { // TODO Auto-generated method stub if(month >= 5 && month <= 10){ switch (type) { case "头等舱": price *= 0.9; break; case "经济舱": price *= 0.85; break; } }else { switch (type) { case "头等舱": price *= 0.7; break; case "经济舱": price *= 0.65; break; } } return price; } }
二、开发验证码
import java.util.Random; public class Main { public static void main(String[] args) { System.out.print(creatCode(5)); } public static String creatCode(int n) { Random r = new Random() ; String code = ""; for (int i = 1; i <= n; i++) { //思路:随机一个0 1 2之间的数字出来,0代表随机一个数字字符,1代表随机一个大写字母,2代表随机一个小写字母 int type = r.nextInt(3);// 0 1 2 switch (type) { case 0: //随机一个数字字符 code += r.nextInt(10);// 0 - 9 break; case 1: //随机一个大写字母 A:65 Z:65+25 (0-25)+65 char ch1 = (char)(r.nextInt(26)+65); code += ch1; break; case 2: //随机一个小写字母 a:97 z:97+25 (0-25)+97 char ch2 = (char)(r.nextInt(26)+97); code += ch2; break; } } return code; } }
三、评委打分
import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.println("当前选手的得分是:"+getAverage(6)); } public static double getAverage(int number) { int[] scores = new int[number]; Scanner sc = new Scanner(System.in); for (int i = 0; i < scores.length; i++) { System.out.println("请输入第"+(i+1)+"个评委的分数:"); int score = sc.nextInt(); scores[i] = score; } int sum = 0; //总分 int max = scores[0]; //最高分 int min = scores[0]; //最低分 for (int i = 0; i < scores.length; i++) { int score = scores[i]; sum += score; //求最大值 if(score > max){ max = score; } //求最小值 if (score < min) { min = score; } } return 1.0 * (sum - max - min) / (number - 2); } }
四、数字加密
public class Main { public static void main(String[] args) { System.out.println("加密后的结果是:"+encrypt(1983)); } public static String encrypt(int number) { // number = 1983 // 1.把这个密码拆分成一个一个的数字,才可以对其进行加密 int[] numbers = split(number); // 2.遍历这个数组中的每个数字,对其进行加密处理 for (int i = 0; i < numbers.length; i++) { numbers[i] = (numbers[i] + 5) % 10; } // 3.对数组进行反转,把数组进行反转的操作交给一个方法的方法来完成 reverse(numbers); // 4.把这些密码的数组拼接起来作为加密后的结果返回即可 String data = ""; for (int i = 0; i < numbers.length; i++) { data += numbers[i]; } return data; } public static void reverse(int[] numbers) { for (int i = 0, j = numbers.length - 1; i < j; i++,j--) { int t = numbers[i]; numbers[i] = numbers[j]; numbers[j] = t; } } public static int[] split(int number) { int[] numbers = new int[4]; numbers[0] = number/1000; numbers[1] = (number / 100) % 10; numbers[2] = (number / 10) % 10; numbers[3] = number % 10; return numbers; } }
五、数组拷贝
public class Main { public static void main(String[] args) { int[] arr = {11, 22, 38}; int[] arr1 = copy(arr); printArray(arr1); } public static void printArray(int[] arr) { System.out.print("["); for (int i = 0; i < arr.length; i++) { System.out.print(i == arr.length - 1 ? arr[i] : arr[i]+","); } System.out.print("]"); } public static int[] copy(int[] arr) { int[] arr2 = new int[arr.length]; for (int i = 0; i < arr2.length; i++) { arr2[i] = arr[i]; } return arr2; } }
六、抢红包
import java.util.Random; import java.util.Scanner; public class Main { public static void main(String[] args) { int moneys[] = {9,666,188,520,88}; start(moneys); } private static void start(int[] moneys) { Scanner sc = new Scanner(System.in); Random r = new Random(); //输入任意人员进行抽奖,人员人数等于红包个数 for (int i = 0; i < moneys.length; i++) { System.out.println("请您输入任意人员进行抽奖:"); sc.next(); //为当前人员找一个随机红包出来 while (true) { int index = r.nextInt(moneys.length); int money = moneys[index]; //判断这个红包是否为0 if(money != 0){ System.out.println("恭喜你,你抽中了红包。"+money); moneys[index] = 0; break; } } } System.out.println("本次活动已结束!"); } }
七、找素数
public class Main { public static void main(String[] args) { System.out.println("当前素数的个数是:"+search(101, 200)); } public static int search(int start, int end) { int count = 0; //start: 101 end: 200 //1.定义一个for循环遍历101-200之间的每个数据 for (int i = start; i <= end; i++) { boolean flag = true; //2.判断当前i是否为素数 for(int j = 2; j <= i/2; j++){ if(i % j == 0){ flag = false; break; } } if(flag){ System.out.println(i); count++; } } return count; } }
public class Main { public static void main(String[] args) { int count = 0; OUT: //外部循环指定标签 for (int i = 101; i <= 200; i++) { for (int j = 2; j < i/2; j++) { if(i % j == 0){ continue OUT;//结束外部循环的当次执行 } } count++; System.out.println(i); } System.out.println("素数的个数是:"+count); } }
public class Main { public static void main(String[] args) { for (int i = 101; i <= 200; i++) { if(check(i)){ System.out.println(i); } } } public static boolean check(int data){ int count = 0; for (int i = 2; i < data/2; i++) { if(data % i == 0){ return false;//不是素数 } } return true;//是素数 } }
八、打印乘法表
public class Main { public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(j+"x"+i+"="+(j*i)+"\t"); } System.out.println(); } } }
九、打印三角形
/* * *** ***** ******* 本质,先找规律再写程序 行(i) 先打印空格(n-i) 再打印* 换行 1 3 1 2 2 3 3 1 5 4 0 7 */ public class Main { public static void main(String[] args) { //1.先定义一个循环控制打印多少行 int n = 10; for (int i = 1; i <= n; i++) { //2.控制打印多少个空格 for (int j = 1; j <= (n-i); j++) { System.out.print(" "); } //3.控制打印多少个星星 for (int j = 1; j <= (2*i - 1); j++) { System.out.print(j % 2 == 0 ? " " : "*"); } //换行 System.out.println(); } } }
十、模拟双色球
import java.util.Scanner; public class Main { public static void main(String[] args) { int[] userNumbers = userSelectNumbers(); printArray(userNumbers); } //打印数组 public static void printArray(int[] arr) { System.out.print("["); for (int i = 0; i < arr.length; i++) { System.out.print(i == arr.length-1 ? arr[i] : arr[i]+","); } System.out.print("]"); } //1.设计一个方法,,用于让用户投注一组号码并返回(前6个号码为红球号码,最后1个为篮球号码) public static int[] userSelectNumbers() { //2.创建一个整型数组,用于存储用户投注的7个还没(前6个号码为红球号码,最后1个为篮球号码) int[] numbers = new int[7]; Scanner sc = new Scanner(System.in); //3.遍历前6个位置,让用户依次投注6个红球号码,存入 for (int i = 0; i < numbers.length-1; i++) { while (true) { //4.开始让用户为当前位置投注一个红球号码(1-33之间,不能重复) System.out.println("请您输入第"+(i+1)+"个红球号码(1-33之间,不能重复):"); int number = sc.nextInt(); //5.判断用户输入的红球号码是否再1-33之间 if(number < 1 || number > 33){ System.out.println("对不起,您输入的红球号码不在1-33之间,请确认!"); }else { //号码是在1-33之间,接着还要判断号码是否重复,不重复才可以 if(exist(numbers,number)){ //number 当前这个红球号码是重复了 System.out.println("对不起,您输入的红球号码前面已经选过,已重复,请确认!"); }else { //number 这个号码没有重复,可以使用 numbers[i] = number; break; } } } } while (true) { System.out.println("请您输入最后1个蓝球号码(1-16):"); int number = sc.nextInt(); if(number < 1 || number > 16){ System.out.println("对不起,您输入的蓝球号码范围不对!"); }else { numbers[6] = number; break; } } return numbers; } public static boolean exist(int[] numbers, int number) { for (int i = 0; i < numbers.length; i++) { if(numbers[i] == 0){ break; } if(numbers[i] == number){ return true; } } return false; } }