我试着取一个数字(n),然后乘以它前面的每一个数字,输入4,你得到(1x2x3x4)=24。我的代码返回0。我有一个像这样的附加工作。有什么想法吗?
public static int multiplyTooNum()
{
Scanner myIn = new Scanner(System.in);
int n;
System.out.println("Please enter a number");
n = myIn.nextInt();
myIn.nextLine();
int sum = 0;
for (int i=0; i<n; i++)
{
sum = sum * i;
}
int result = sum*n;
System.out.println(result);
myIn.close();
return result;
}
for (int i=0; i<n; i++)
{
sum = sum * i;
}
问题是在这一部分,你从0开始,所以每次求和都是0,它会再次相乘。我建议您学习调试,并在循环中逐步找出问题。
在乘法中,累加变量不被称为sum。它被称为产品
。单词sum
仅用于加法。
现在,继续你的问题:
如果你还记得你的小学数学,任何乘以零的结果都是零。
这就是你最终得到零分的原因。
因此,为了解决这个问题,您必须用1
而不是0
初始化您的产品
,然后使您的for
循环从索引1开始计数,而不是0。
问题内容: 我试图除以2计数以返回一个百分比。 返回以下查询: 我应该应聘演员吗? 问题答案: 我会用两个s来做不同的事情:
有人请解释一下。为什么下面的程序产生16个?
你好,有人能帮我在java中使用我的当循环代码吗?我似乎在这里找不到解决方案,我希望有人能推荐或找到一个解决方案,我如何才能创建像(1, -2, 3, -4, 5, -6)这样的正确输出。谢谢!
问题内容: 今天,有人陪我一起滥用Java 中的关键字。我编写了一个简单的循环来验证数组中是否存在某些内容。假设是一个length数组,这是我的代码: 现在有人告诉我这不是一个很好的编程,因为我在循环内使用了该语句,这将导致垃圾回收发生故障。因此,更好的代码将是: 问题是我无法正确解释为什么第一个for循环不是一个好习惯。有人可以给我一个解释吗? 问题答案: 现在有人告诉我这不是一个很好的编程,因
loop 有个用途是尝试一个操作直到成功为止。若操作返回一个值,则可能需要将其传递给代码的其余部分:将该值放在 break 之后,并由 loop 表达式返回。 fn main() { let mut counter = 0; let result = loop { counter += 1; if counter == 10 {
我正在研究CodeChef中的一个问题,我需要计算n个数字的阶乘。 用户输入一个数字,该数字确定要对多少整数执行阶乘计算,然后输入要计算的数字。 我的问题是乘法本身。例如,如果我有一个int==5,那么结果将是20(它将仅通过最后一个阶乘计算n,而不是所有阶乘) 这就是问题所在: 外部循环定义要执行的计算数量。 内部循环通过迭代numberToProcess的每个索引并将其乘以每个小于要计算的数字