[英]Count negative numbers using array and while loop
有一个任务,我是新手。 任务是计算给定数组中的负数,并打印出它们计算的数量。 我必须使用一个while循环。 我收到很多错误。
class NegativeNumber {
public static void main(String[] args) {
int[] wholeNumber = {1, 4, 5, -2, -4, 6, 10, 3, -2};
int counter = 0;
int negativeCounter = 0;
int sum;
while(counter < wholeNumber.length) {
sum = sum + wholeNumber;
if(wholeNumber < 0)
{
negativeCounter++;
}
}
System.out.println("The amount of negative numbers are "+negativeCounter);
}
}
改变
if(wholeNumber < 0)
到
if(wholeNumber[counter] < 0)
和
sum = sum + wholeNumber;
到
sum = sum + wholeNumber[counter];
或者更短的
sum += wholeNumber[counter];
并且不要忘记在循环体的末尾增加counter
counter++;
你可以使用IntStream
int[] wholeNumber = { 1, 4, 5, -2, -4, 6, 10, 3, -2 };
int sum = IntStream.of(wholeNumber).sum();
long negativeCount = IntStream.of(wholeNumber).filter(x -> x < 0).count();
System.out.printf("%s Sum=%d, Count=%d%n",
Arrays.toString(wholeNumber), sum, negativeCount);
您必须使用 WholeCounter[counter] 并在最后增加 counter
while(counter < wholeNumber.length) {
if(wholeNumber[counter] < 0)
{
sum += wholeNumber[counter];
negativeCounter++;
}
counter++
}
一些提示:
public class NegativeNumber {
当您想稍后运行其main方法时,您的类必须是公共的!
您可以使用for 每种风格的 for 循环来简化您的循环:
for (int number : wholeNumber } {
sum = sum + number;
if(number < 0) {
negativeCounter++;
}
}
并提示:wholeNumber 是一个误导性的数组名称。 为什么不把它wholeNumber!而非? 为了表达这个变量是关于复数数字的事实!
您可以使用 for 循环轻松完成
public class NegativeNum {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] wholeNumber = {1, 4, 5, -2, -4, 6, 10, 3, -2};
int negativeCounter = 0;
int sum=0;
for(int i =0; i<wholeNumber.length; i++)
{
if(wholeNumber[i]< 0)
{
sum =sum+ wholeNumber[i];
negativeCounter++;
}
}
System.out.println(sum + " " + negativeCounter);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.