所以我工作的這個問題,在用戶輸入X的個數和結果是這樣計算出0和X之間的所有數字的總和:7和倍數添加數字減去倍數
- 倍數11個不包括在總和中。既7和11的
- 但倍數被包括爲前:77
例如:
用戶輸入X >> 80
總和>>(0 + 1 + 2 + 3 + ... 77)-(7,11,14,21,22 ... ... 77)+(77)=導致
import java.util.Scanner;
public class testadd {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.print("Please the number greater than 77");
// int a = 0;
int b = keyboard.nextInt();
int sum = 0;
int s = Math.min(0, b);
int e = Math.max(0, b);
System.out.println(s);
System.out.println(e);
int x=0;
for(int i=1; i<e; i++){
if(i%7 ==0 || i%11 ==0){
x=x+i;
System.out.println(x + " values of x");
}
}
while (s <= e) {
sum += s;
s++;
}
System.out.print("The sum of the numbers between " + 0 + " and " + b + " is " + sum);
}
}
爲什麼你使用'Math.min'和'Math.max' ?如果'b'大於77,那麼'Math.min(0,b)'總是0,所以沒有理由使用'Math.min'使事情複雜化。類似的'Math.max',但我會讓你弄清楚'e'會被設置爲什麼。 – ajb