Java 计算最小值和最大值并删除它们
因此,对于我的项目,这就是我在跳水运动中需要做的,七位评委会给出一个介于0到10之间的分数,每个分数可能是一个浮点值。最高和最低分数将被剔除,其余分数相加。然后将总和乘以该跳水的难度。难度从1.2分到4.8分不等。然后将总数乘以0.6,以确定潜水员的得分 编写一个程序,提示用户难度和七名裁判的分数,并输出该跳水的总分数。程序应该使用一个数组来存储这七个分数。程序还应确保所有输入都在允许的数据范围内 样本输出: 输入跳水难度(1.2-4.8):7.3 无效的困难。请重新输入:1.5 输入每位裁判的分数(0.0-10.0): 为裁判输入分数1:12.3 无效分数。请重新输入:14.5 无效分数。请重新输入:8 为裁判输入分数2:7.5 为裁判输入分数3:8.5 为裁判输入分数4:8 为裁判输入分数5:7 为裁判输入分数6:8 为裁判输入分数7:7.5 跳水得分为35.1分 我一直坚持的是如何得到一个代码,它将自动取出最小值和最大值Java 计算最小值和最大值并删除它们,java,Java,因此,对于我的项目,这就是我在跳水运动中需要做的,七位评委会给出一个介于0到10之间的分数,每个分数可能是一个浮点值。最高和最低分数将被剔除,其余分数相加。然后将总和乘以该跳水的难度。难度从1.2分到4.8分不等。然后将总数乘以0.6,以确定潜水员的得分 编写一个程序,提示用户难度和七名裁判的分数,并输出该跳水的总分数。程序应该使用一个数组来存储这七个分数。程序还应确保所有输入都在允许的数据范围内 样本输出: 输入跳水难度(1.2-4.8):7.3 无效的困难。请重新输入:1.5 输入每位裁判的
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Random rng = new Random();
int[] values = new int[1000];
// Fill it up
for (int i = 0; i < values.length; i++) {
values[i] = rng.nextInt(100);
}
// Find min
/*int indexOfMin = 0;
int indexOfMax = 0;
for (int i = 0; i < values.length; i++) {
if(values[i] < values[indexOfMin]) {
indexOfMin = i;
}
if (values[i] > values[indexOfMax]) {
indexOfMax = i;
}
}
System.out.println("Minimum is at index " + indexOfMin + " with value " + values[indexOfMin]);
System.out.println("Maximum is at index " + indexOfMax + " with value " + values[indexOfMax]);
*/
double[] difficulty = new double[1];
Scanner keyboard = new Scanner(System.in);
for (int d = 0; d < difficulty.length; d++) {
System.out.println(" Enter Difficulty " + d + ":" );
difficulty[d] = keyboard.nextDouble();
while (difficulty[d] < 1.2 || difficulty[d] > 4.8) {
System.out.println(" Bad value. Try again: ");;
difficulty[d] = keyboard.nextDouble();
}
Scanner keyboard1 = new Scanner(System.in);
double[] scores = new double[7];
for (int i = 0; i < scores.length; i++) {
System.out.println(" Enter score " + i + ":" );
scores[i] = keyboard1.nextDouble();
while (scores[i] < 0.0 || scores[i] > 10.0) {
System.out.println(" Bad value. Try again: ");;
scores[i] = keyboard1.nextDouble();
}
}
}
}
}
import java.util.Random;
导入java.util.Scanner;
公共班机{
公共静态void main(字符串[]args){
随机rng=新随机();
int[]值=新的int[1000];
//加满
对于(int i=0;i值[indexOfMax]){
indexOfMax=i;
}
}
System.out.println(“最小值在索引“+indexOfMin+”处,值为“+values[indexOfMin]);
System.out.println(“最大值在索引“+indexOfMax+”处,值为“+values[indexOfMax]);
*/
双[]难度=新双[1];
扫描仪键盘=新扫描仪(System.in);
for(int d=0;d4.8){
System.out.println(“值不正确。请重试:”);;
难度[d]=键盘.nextDouble();
}
扫描仪键盘1=新扫描仪(System.in);
双[]分=新双[7];
for(int i=0;i10.0){
System.out.println(“值不正确。请重试:”);;
分数[i]=键盘1.nextDouble();
}
}
}
}
}
indecOfMin和indexOfMax//不在代码中,因为我认为我的代码有误,或者它不适用于/帮助此项目您可以对值数组进行排序,然后从数组的一端取最大值,从另一端取最小值 对于排序,可以使用气泡排序:
public double[] bubbleSort(double[] array) {
int numberOfItems = array.length;
for (int pass=1; pass != numberOfItems; pass++) {
for (int index=0; index != numberOfItems-pass; index++) {
if (array[index] < array[index+1]) {
temp = array[index];
array[index] = array[index+1];
array[index+1] = temp;
}
}
}
return array;
}
您可能需要进行一些小的更改才能将其实现到您自己的代码中。为什么不检查代码是否正确?从逻辑上看,我没有发现任何问题,因为它与问题无关。这不是正确的代码。它只是吐出一些与用户输入无关的随机数“我一直坚持的是如何得到一个能自动取出最小值和最大值的代码”,所讨论的最小值和最大值功能如何与问题无关?它是随机的,因为你是在一个随机的数组上做的,只需要在你的输入项上使用它就可以了。我不知道怎么做,虽然我为你调整了答案
int maxIndex = array.length - 1;
double max = array[maxIndex];
double min = array[0];