//最簡單的方法 public static void main(String[] args) { int sum = 0; for(int i = 0; i<=100; i++) { sum += i; } System.out.println(sum); }
package Math; import java.util.Scanner; /** * java代碼編寫1+2+3+...+100之和 * @ClassName: Math5 * @Description: TODO * @author: 安生 優秀的判斷力來自經驗,但經驗來自於錯誤的判斷。 * @date: 2020年1月6日 下午2:10:31 */ public class Math5 { //最簡單的方法 // public static void main(String[] args) { // int sum = 0; // for(int i = 0; i<=100; i++) { // sum += i; // } // System.out.println(sum); // } static Scanner sc = new Scanner(System.in); //確保輸入的整數 public static int getInt() { while(!sc.hasNextInt()) { System.out.println("您輸入的不是整數,請重新輸入:"); sc.next(); } int num = sc.nextInt(); return num; } //升級版后的第一種方法 public static int addNums(int num) { int sum = 0; while(num <= 0) { //說明輸出錯誤 這個數字小於且等於0 確保它輸入的是正整數 (正數這里已經完成了) System.out.println("您輸入的數字不正確,請重新輸入"); num = getInt(); } for(int i = 0; i<=num; i++) { sum += i; } return sum; } //1+2+3+4+...+100之和 public static void main(String[] args) { System.out.println("請輸入第幾個數字"); int result = addNums(getInt()); System.out.println(result); } }
除了這種方法,我們可以發現1+2+3+4+...+100 其實也可以用遞歸
package Math; import java.util.Scanner; /** * java代碼編寫1+2+3+...+100之和 * @ClassName: Math5 * @Description: TODO * @author: 安生 優秀的判斷力來自經驗,但經驗來自於錯誤的判斷。 * @date: 2020年1月6日 下午2:10:31 */ public class Math5 { //最簡單的方法 // public static void main(String[] args) { // int sum = 0; // for(int i = 0; i<=100; i++) { // sum += i; // } // System.out.println(sum); // } static Scanner sc = new Scanner(System.in); //確保輸入的整數 public static int getInt() { while(!sc.hasNextInt()) { System.out.println("您輸入的不是整數,請重新輸入:"); sc.next(); } int num = sc.nextInt(); return num; } //升級版后的第一種方法 // public static int addNums(int num) { // int sum = 0; // // while(num <= 0) { // //說明輸出錯誤 這個數字小於且等於0 確保它輸入的是正整數 (正數這里已經完成了) // System.out.println("您輸入的數字不正確,請重新輸入"); // num = getInt(); // } // // for(int i = 0; i<=num; i++) { // sum += i; // } // return sum; // } // //升級版后的遞歸方法 public static int addNumbs2(int num) { while(num<=0) { System.out.println("您輸入的數字不正確,請重新輸入:"); num = getInt(); } if(num == 1) { return 1; }else { return num+addNumbs2(num-1); } } //1+2+3+4+...+100之和 public static void main(String[] args) { System.out.println("請輸入第幾個數字"); int result = addNumbs2(getInt()); System.out.println(result); } }