[英]Enter 100 numbers. Determine which number is more: positive or negative
所以我有这个作业,我必须输入 100 个数字,然后确定它是正数还是负数,尝试了几个小时但仍然没有成功。
输入 100 个数字。 确定哪个数字更多:正数或负数。 (这是字面上的任务,没有更多的写)
在处理问题时,首先要考虑清楚。 然后写代码。
如果您只是想找到正数或负数的最高幅度,您可以通过检查绝对值很容易地做到这一点:
import java.util.concurrent.ThreadLocalRandom;
public class MyClass
{
public static void main(String args[])
{
int randomNum = 0;
int largestMagnitude = 0;
for(int i = 0; i < 100; i++)
{
randomNum = ThreadLocalRandom.current().nextInt(-1000, 1000);
if(Math.abs(randomNum) > Math.abs(largestMagnitude))
{
largestMagnitude = randomNum;
}
}
System.out.println("The highest magnitude of number generated was " + largestMagnitude);
}
}
这是对提供答案的人的建议。 当问题是家庭作业时(正如 OP 明确指出的那样),重要的是要问他们目前正在学习什么,以便正确地构建课程答案。 基本上,对于行业而言,最正确的答案可能不是(而且通常不是)对其所教内容的最正确答案。
@Janis Klein,您目前在课堂上讲的内容非常重要。 例如,如果您正在学习排序,答案可能是实现某种排序算法。 当您对一组数字进行排序时,最负和最正的将是排序集合中的头和尾值。 如果您正在学习列表和集合,答案可能是实现某种链接列表,其中数字以自然顺序插入(无需排序)。 就像我之前的例子一样,一旦你将所有 100 个值都插入到这个列表中,头和尾值就是最正值和最负值。
但是,如果您正在学习的只是进行值的比较,那么您只需要两个变量(一个用于最正,一个用于最负),您需要做的就是比较传入的值并将它们存储到如果需要,正确的变量。 例如,第一个值将是最积极的和最消极的。 第二个传入值将是最正数或最负数(假设始终收到唯一值)。 从第三个值开始,传入的值可能是最正的、最负的,或者两者都不是; 在这种情况下,传入的值将被丢弃。 最后,最负和最正的值将是存储在相应变量中的值。
同样,必须根据您目前在课堂上学习的内容来确定答案的范围。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.