java代码编写1+2+3+....+100之和

//最简单的方法
    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);
    }

}
posted @ 2020-01-06 14:25  AxeBurner  阅读(3114)  评论(0编辑  收藏  举报