1.买飞机票
需求:机票价格按照淡季旺季,头等舱和经济舱,输入机票原价,月份,头等舱或者经济舱;按照如下规则计算机票价格:旺季(5-10月) 头等舱9折,经济舱8.5折;淡季(11月到下一年4月) 头等舱7折,经济舱6.5折
答案:
[content_hide]
import java.util.Scanner;
public class IT梦 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入机票原价");
int plantPrice = sc.nextInt();
System.out.println("请输入月份");
int month = sc.nextInt();
System.out.println("请输入头等舱(0)还是经济舱(1)");
int place = sc.nextInt();
if(5<=month && month<=10){
plantPrice = getPrice(plantPrice,place,0.9,0.85);
}else if((month>=1 && month<=4) || (month>=11 && month<=12)){
plantPrice = getPrice(plantPrice,place,0.7,0.65);
}else{
System.out.println("没有这个月份");
}
System.out.println("机票的实际价格为:" + plantPrice + "元");
}
public static int getPrice(int plantPrice,int place, double d0,double d1){
if(place == 0){
plantPrice = (int)(plantPrice * d0);
}else if(place == 1){
plantPrice = (int)(plantPrice * d1);
}else {
System.out.println("没有这个舱位");
}
return plantPrice;
}
}
[/content_hide]
2.找质数
需求:判断101~200之间有多少个质数,并输出打印所有质数
答案:
[content_hide]
public class IT梦 {
public static void main(String[] args){
int number = 0;
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 + "是质数");
number++;
}
}
System.out.println("质数一共有" + number + "个");
}
}
[/content_hide]
3.生成验证码
需求:用程序随机生成一个五位数的验证码
代码格式:长度为5,前四位是大写字母或者小写字母,最后一位是数字
答案:
[content_hide]
import java.util.Random;
public class IT梦 {
public static void main(String[] args){
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);
}
}
Random r = new Random();
String result = "";
for (int i = 0; i < 4; i++) {
int index = r.nextInt(52);
result = result + arr[index];
}
int number = r.nextInt(10);
result = result + number;
System.out.println("验证码为:" + result);
}
}
[/content_hide]
4.数组元素的复制
需求:把一个数组中的元素复制到另一个新数组中去
答案:
[content_hide]
public class IT梦 {
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.print(newArr[i] + " ");
}
}
}
[/content_hide]
5.评委打分
需求:在歌唱比赛中,有6名评委给选手打分,分数范围是0~100的整数;去掉最高分和最低分后四位评分的平均分就是选手的最后得分,请完成上述过程并计算出选手的最后得分
答案:
[content_hide]
import java.util.Scanner;
public class IT梦 {
public static void main(String[] args){
int []arr = new int[6];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < arr.length;) {
System.out.println("请输入第" + (i+1) + "位评委的分数");
int number = sc.nextInt();
if(number >= 0 && number <= 100){
arr[i] =number;
i++;
}else {
System.out.println("成绩不合理,请重新输入");
}
}
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if(arr[i] > max){
max = arr[i];
}
}
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
if(arr[0] < min){
min = arr[i];
}
}
int count = 0;
for (int i = 0; i < arr.length; i++) {
count = count + arr[i];
}
int result = (count-max-min)/ (arr.length-2);
System.out.println("选手的最终得分为:" + result);
}
}
[/content_hide]
6.数字加密
需求:键盘录入一个大于0的密码(例如1983),采用加密的方式进行传输
加密规则:先得到每位数,然后每位数都加上5,在对10求余,最后将所有数字反转,得到一串新数
答案:
[content_hide]
import java.util.Scanner;
public class IT梦 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个大于0的密码");
int password = sc.nextInt();
int number = password;
int count = 0;
while (password != 0){
password = password / 10;
count++;
}
int []arr = new int[count];
int index = arr.length - 1;
while(number != 0){
int ge = number % 10;
number = number / 10;
arr[index] = ge;
index--;
}
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;
}
String result = "";
for (int i = 0; i < arr.length; i++) {
result = result + arr[i];
}
System.out.println(result);
}
}
[/content_hide]
7.抽奖
需求:抽奖活动,奖品是现金红包,分别有{2,588.888,1000,10000}五个奖金,请用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复
效果如下:(顺序可以不一样,效果得一样)
2元的奖金被抽出
588元的奖金被抽出
888元的奖金被抽出
1000元的奖金被抽出
10000元的奖金被抽出
答案:
[content_hide]
import java.util.Random;
public class IT梦 {
public static void main(String[] args){
int []arr = {2,588,888,1000,10000};
Random r = new Random();
for (int i = 0; i < arr.length; i++) {
int randomIndex = r.nextInt(arr.length);
int temp = arr[i];
arr[i] = arr[randomIndex];
arr[randomIndex] = temp;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i] + "元的奖金被抽出");
}
}
}
[/content_hide]
© 版权声明
THE END
暂无评论内容