当前位置:首页 > 编程笔记 > 正文
已解决

Java综合案例

来自网友在路上 152852提问 提问时间:2023-10-07 08:50:20阅读次数: 52

最佳答案 问答题库528位专家为你答疑解惑

  • 机票价格按照旺季淡季、头等舱和经济舱收费,输入机票原价、月份和头等舱或经济舱

        按照以下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折

import java.util.Scanner;
public class index {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 = getPrice(seat,ticket,0.9,0.85);} else if ((month >= 1 && month < 5) || (month >= 11 && month <= 12)) {ticket = getPrice(seat,ticket,0.7,0.65);}else{System.out.println("你输入的月份不合格");}System.out.println("折扣后的机票价格为" + ticket +"元");}public static int getPrice(int seat,int ticket,double v0,double v1){if(seat == 0){ticket = (int)(ticket * v0);}else if(seat == 1){ticket = (int)(ticket * v1);}else{System.out.println("没有这个舱位");}return ticket;}
}
  • 判断101-200之间有多少素数,并输出所有素数
public class index {public static void main(String[] args) {int count = 0;//外循环,遍历101-200之内每一个数for (int i = 101; i <= 200; i++) {boolean flag = true;for (int j = 2; j < i; j++) {if (i % j == 0) {flag = false;//跳出内循环break;}}if (flag) {System.out.println("当前数字" + i + "是质数");count++;}}System.out.println("一共有" + count + "个质数");}
}
  • 定义方法实现随机产生一个5位的验证码

        验证码格式:长度为5,前四位是大写字母或小写字母,最后一位是数字

import java.util.Random;
public class index {public static void main(String[] args) {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 = "";Random r = new Random();for (int i = 0; i < 4; i++) {int randomIndex = r.nextInt(chs.length);result = result + chs[randomIndex];}//获取随机数字0~9int number = r.nextInt(10);result = result + number;System.out.println(result);}
}
  • 把一个数组中的元素复制到另一个新数组中
public class index {public static void main(String[] args) {int[] arr = {1,2,3,4,5};//新数组的长度和老数组相同int[] newArr = new int[arr.length];for (int i = 0; i < arr.length; i++) {newArr[i] = arr[i];}for (int i = 0; i < newArr.length; i++) {System.out.println(newArr[i]);}}
}
  • 在唱歌比赛中,有六位评委打分,分数范围是 [0-100] 之间的整数。选手的最终得分为:去掉最高分和最低分后4个评委的平均分,请完成上述过程并计算出选手的得分。
import java.util.Scanner;
public class index {public static void main(String[] args) {int[] scoreArr = getScores();
//        for (int i = 0; i < scoreArr.length; i++) {
//            System.out.println(scoreArr[i]);
//        }int max = getMax(scoreArr);int min = getMin(scoreArr);int sum = getSum(scoreArr);int avg = (sum - max -min) / (scoreArr.length - 2);System.out.println("选手的最终得分是"+avg+"分");}public static int[] getScores(){//动态定义数组int[] scores = new int[6];Scanner sc = new Scanner(System.in);for (int i = 0; i < scores.length;) {System.out.println("请输入第"+(i + 1)+"位评委的打分:");int score = sc.nextInt();//判断是否在0-100范围内if(score >= 0 && score <= 100){scores[i] = score;//只有输入合法的分数才能进入if判断语句,i才加1,才能进入下一次循环i++;}else {System.out.println("成绩超出了范围,继续录入,当前i为" + i);}}return scores;}//求数组的最大值public static int getMax(int[] scoreArr){int max = scoreArr[0];for (int i = 1; i < scoreArr.length; i++) {if (scoreArr[i] > max){max = scoreArr[i];}}return max;}//求数组的最小值public static int getMin(int[] scoreArr){int min = scoreArr[0];//循环从0开始,第一次自己跟自己比较,可以从1开始for (int i = 0; i < scoreArr.length; i++) {if (scoreArr[i] < min){min = scoreArr[i];}}return min;}//求总分数public static int getSum(int[] scoreArr){int sum = 0;for (int i = 0; i < scoreArr.length; i++) {sum = sum + scoreArr[i];}return sum;}
}

某系统的数字密码(大于0),采用加密方式进行传输

规则如下:先得到每位数,如何每位数都加上5,再对10求余,最后将所有数字反转,得到一串新数

public class index {public static void main(String[] args) {int[] arr = getNumber();for (int i = 0; i < arr.length; i++) {arr[i] = (arr[i] + 5) % 10;}for (int i = 0,j=arr.length-1; i < j; i++,j--) {int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}//拼接int number = 0;for (int i = 0; i < arr.length; i++) {number = number * 10 + arr[i];}System.out.println(number);}public static int[] getNumber(){//把整数上每一位添加到数组中int number = 1983;int temp = number;int count = 0;while(number != 0){number = number / 10;count++;}int[] arr = new int[count];//索引int index = arr.length - 1;while(temp != 0){int ge = temp % 10;temp = temp / 10;arr[index] = ge;index--;}return arr;}}

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Java综合案例":http://eshow365.cn/6-16696-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!