java中如何求5个整数的中值
所以我是编程新手,我的老师想让我们找到使用if语句的媒介(我问过他,但他并没有真正帮助我们),我们还没有学会扫描器、循环、数组等等。。所以我只知道bufferedReader、import.java.io&基本知识。我已经写出了if语句,但我仍然不知道如何让它输出中值。数字是1-5,所以我知道中位数是3。。下面是关于if语句的内容java中如何求5个整数的中值,java,median,Java,Median,所以我是编程新手,我的老师想让我们找到使用if语句的媒介(我问过他,但他并没有真正帮助我们),我们还没有学会扫描器、循环、数组等等。。所以我只知道bufferedReader、import.java.io&基本知识。我已经写出了if语句,但我仍然不知道如何让它输出中值。数字是1-5,所以我知道中位数是3。。下面是关于if语句的内容 if (num1<num2) System.out.println(num1 + "is less than" + n
if (num1<num2)
System.out.println(num1 + "is less than" + num2);
if (num1<num3)
System.out.println(num1 + "is less than" + num3);
if (num1<num4)
System.out.println(num1 + "is less than" + num4);
if (num1<num5)
System.out.println(num1 + "is less than" + num5);
if (num2>num1)
System.out.println(num2 + "is greater than" + num1);
if (num2<num3)
System.out.println(num2 + "is less than" + num3);
if (num2<num4)
System.out.println(num2 + "is less than" + num4);
if (num1<num5)
System.out.println(num1 + "is less than" + num5);
if (num3>num1)
System.out.println(num3 + "is greater than" + num1);
if (num3>num2)
System.out.println(num3 + "is greater than" + num2);
if (num3<num4)
System.out.println(num3 + "is less than" + num4);
if (num3<num5)
System.out.println(num3 + "is less than" + num5);
if (num4>num1)
System.out.println(num4 + "is greater than" + num1);
if (num4>num2)
System.out.println(num4 + "is greater than" + num2);
if (num4>num3)
System.out.println(num4 + "is greater than" + num3);
if (num4<num5)
System.out.println(num4 + "is less than" + num5);
if (num5>num1)
System.out.println(num5 + "is greater than" + num1);
if (num5>num2)
System.out.println(num5 + "is greater than" + num1);
if (num5>num3)
System.out.println(num5 + "is greater than" + num3);
if (num5>num4)
System.out.println(num5 + "is greater than" + num4);
if(num1num4)
系统输出打印项次(num5+“大于”+num4);
我不想给你答案;但这里有一些提示
if
语句可以在括号内包含多个条件,例如:
if(a>b && b < 10){...}
最后,您可以有一个else
条件,当不满足该条件时将执行该条件
if(a>b){
...
} else {
...
}
当然,这些都可以组合在一起,使用多个条件嵌套ifs,并将ifs嵌套到else块中
正如我所说,我不想给你的问题的答案,因为我不相信这是学习如何做到这一点的最有效的方法;但希望这对你的知识和理解有一定的洞察力和意义。如果你有555个数字怎么办?你能把所有可能的组合再写一遍吗?这实际上需要几天的时间 考虑使用一些数据结构,例如使用数组存储数字:
int[] array = new int[] {1, 2, 3, 4, 5};
中位数是中位数,3。
int[] array2 = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9};
这里的中位数是5
要找到中间值(假设数字总是按顺序排列),可以执行以下操作:
int[] array = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int size = array.length;
if (size % 2 == 1) { // odd
System.out.println("Median: : " + array[size / 2]);
} else { // even
int sum = array[size / 2 - 1] + array[size / 2];
System.out.println("Median: : " + (float) sum / 2);
}
然而,我有一种感觉,即使这段代码非常简单,您仍然无法理解它。我强烈建议您阅读Java中的数组和集合,这只是为了节省一些时间。您刚刚编写了比较所有值的if语句(以及打印输出语句)。您应该考虑中值的含义,以及如何找到中值。然后你应该打印出一个中位数。你在标题中写了中位数,在描述中写了中位数。假设你寻找中位数,答案是num3。为什么不对列表进行排序呢?在那之后,唯一需要的
if
语句是确定列表的长度是偶数还是奇数。@DannyFried没有人说它们是排序的。还有一个愚蠢的问题:我假设你知道如何“手工”计算中值?
int[] array = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int size = array.length;
if (size % 2 == 1) { // odd
System.out.println("Median: : " + array[size / 2]);
} else { // even
int sum = array[size / 2 - 1] + array[size / 2];
System.out.println("Median: : " + (float) sum / 2);
}