Example:
input: 78
output:
1,2,3,4,5,6,7,8,9,10,11,12
18,19,20,21
25,26,27
import java.util.Scanner;
import org.junit.Test;
public class TestIntegersSum {
public static void main(String[] args) {
new TestIntegersSum().integerSum();
}
@SuppressWarnings("resource")@Test
public void integerSum(){
System.out.println("請輸入一個整數:");
Scanner scan = new Scanner(System.in);
int scanNum = scan.nextInt();
//判斷輸入的是否是負數或正數
boolean minusFlag = false;
if(scanNum<0){
scanNum = -scanNum;
minusFlag = true;
}
boolean hasflag = false;
for (int i = 1; i <= scanNum / 2; i++) {
int num = i;
for (int j = i+1; j < scanNum; j++) {
num += j;
if (num > scanNum) {
break;
} else if (num == scanNum) {
for (int k = i; k <= j; k++) {
if(!minusFlag){
if (k < j) {
System.out.print(k + ",");
} else if (k == j) {
System.out.println(k);
}
}else{
if (k < j) {
System.out.print(-k + ",");
} else if (k == j) {
System.out.println(-k);
}
}
}
hasflag = true;
break;
}
}
}
if(!hasflag){
System.out.println("none");
}
}
}