【发布时间】:2020-02-03 15:25:40
【问题描述】:
所以我是编程新手,我的老师希望我们找到使用 if 语句的媒介(我问过他,但他并没有真正帮助)我们还没有学习扫描仪、循环、数组等。所以所有我知道是 bufferedReader、import.java.io 和基础知识。我已经写出了 if 语句,但我仍然对如何让它输出中位数感到困惑。数字是 1-5,所以我知道中位数是 3。这就是我的 if 语句。
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 语句(并打印出语句)。您应该考虑中值的含义,以及如何找到中值。然后你应该打印出单个中值。
-
你在标题中写了中位数,在描述中写了中位数。假设您寻找中位数,答案是 num3。
-
为什么不对列表进行排序?之后,您唯一需要的
if语句就是确定列表的长度是偶数还是奇数。 -
@DannyFried 没有人说他们已排序。
-
另外,愚蠢的问题:我假设您知道如何“手动”计算中位数?