问题描述
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(system.in);
System.out.println("Last Number ");
int inputednumber = Integer.valueOf(scanner.nextInt());
int result = 0;
int outcome = 0;
for(int i = 0; i < inputednumber; i++) {
result += ;
}
/*/*while (outcome <= inputednumber) {
result += inputednumber;
outcome++;
}*/
System.out.println(result);
}
}
我有一个问题不明白这里出了什么问题,因为我想解决这个任务,本来应该是(实现一个程序,它计算总和 1+2+3+...+n 其中 n 是作为用户输入给出。)但它给了我另一个答案,请以两种方式为我解决问题,以了解我出了什么问题,因为到目前为止一切对我来说都有意义,但代码无法正常工作是
解决方法
你可以试试下面的代码:
for(int i = 1; i <= inputedNumber; i++) {
result += i;
}
注意:您应该根据您的要求从 i=1
开始:
1+2+3+..+n
,你需要替换 result += ;结果 += i;
,对于第一种情况。这不是有效的 Java 代码,您应该在 += 运算符之后放置一个值/变量。
for (int i = 0; i < inputedNumber; i++) {
result += ;
}
如果将变量 i 放在它后面,并使用 i
for (int i = 0; i <= inputedNumber; i++) {
result += i;
}
在第二种情况下,你实际上是在做 n*(n+1)
while (outcome <= inputedNumber) {
result += inputedNumber;
outcome++;
}
这可以作为输入值测试为 2:
第一次迭代:
outcome -> 0
inputedNumber -> 2
result -> 2
The second iteration:
outcome -> 1
inputedNumber -> 2
result -> 4
The third iteration:
outcome -> 2
inputedNumber -> 2
result -> 6
修复方法与我之前建议的类似。你可以把它当作练习。