开启掘金成长之旅!这是我参加「掘金日新计划·12月更文挑战」的第三天,点击查看活动详情
前言
今天给大家再分享几道经典Java练习题。
题目五:评委打分
需求
在歌唱比赛中,有6名评委给选手打分,分数范围是【0-100】之间的整数。
选手最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分
分析
- 定义一个数组,用来存储6名评委的打分
- 求出数组中的最大值
- 求出数组中的最小值
- 求出数组中的6个分数的总和
- (总和-最大值-最小值)/4
import java.util.Scanner;
public class Test5{
public static int[] getScores(){
//定义数组
int[] scores = new int[6];
//使用键盘录入的形式,输入分数0~100
Scanner sc = new Scanner(System.in);
for(int i=0;i<scores.length;){
System.out.println("请评委给选手打分");
int score = sc.nextInt();
if(score>=0 && score<=100){
scores[i] = score;
i++;
}else{
System.out.println("成绩超出范围,请重新输入!");
}
}
}
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];
for(int i = 1;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;
}
public static void main(String[] args){
//1. 定义一个数组,用来存储6名评委的打分
int[] scoreArr = getScores();
for(int i = 0;i<scoreArr.length;i++){
System.out.println(scoreArr[i]);
}
//2. 求出数组中的最大值
int max = getMax(scoreArr);
//3. 求出数组中的最小值
int min = getMin(scoreArr);
//4. 求出数组中的6个分数的总和
int sum = getSum(scoreArr);
//5. (总和-最大值-最小值)/4
int avg = (sum - max - min)/(scoreArr.length - 2);
//打印结果
System.out.println(avg);
}
}
题目六:数字加密
需求
- 某系统的数字密码(大于0),比如1983,采用加密方式进行传输。
- 规则为:
先得到每位数,然后每位数都加上5,再对10求余,最后将所有数字反转,得到一串新数。
分析
- 把整数里面的每一位放到数组当中
- 加密
- 把数组里面的每一位数字进行拼接,变成加密之后的结果
public class Test6{
public static void main(String[] args){
//1. 把整数里面的每一位放到数组当中
int[] arr = {1,9,8,3};
//2.加密
//每位数加上5
for(int i = 0;i<arr.length;i++){
arr[i] = arr[i] + 5;
}
//再对10求余
for(int i = 0;i<arr.length;i++){
arr[i] = arr[i]%10;
//将所有数字反转
for(int i = 0,j = arr.length - 1;i<j;i++,j--){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
//3. 把数组里面的每一位数字进行拼接,变成加密之后的结果
int number = 0;
for(int i = 0;i<arr.length;i++){
number = number*10+arr[i];
System.out.println(number);
}
}
}