累加求和 for while的应用

来源:互联网 发布:javascript是什么 编辑:程序博客网 时间:2024/06/05 03:36

累加求和 for while的应用

package arithmetic;import java.util.Scanner;/** * 求1+2+3+...+100的值、主要用循环来操作  for  while  do...while  *       *      a)扩展:求[ 1 , 200 ]的奇数和  或 [1 , 200 ]的偶数和 *      b)扩展:求1-2+3-4+5-6.....+99-100的值为多少 *      c)扩展:求[x , y]之间的数和; x  y由用户输入 * * @author sunRainAmazing * */public class GetSum {    public static void main(String[] args) {        getSumByFor();        getSumByStrongFor();        getSumByWhile();        getSumByFor2();        getSignSum();        @SuppressWarnings("resource")        Scanner scanner = new Scanner(System.in);        System.out.println("请输入第一个数字:");        int firstValue=scanner.nextInt();        System.out.println("请输入第二个数:");        int lastValue=scanner.nextInt();        getInputSum(firstValue, lastValue);    }    /**     * 求1+2+3+...+100采用for的形式     */    public static void getSumByFor(){        int sum=0;        for (int i = 1; i < 101; i++) {            sum+=i;        }        System.out.println("1+2+3+...+100的和getSumByFor():"+sum);    }    /**     * 求1+2+3+...+100采用增强双向for的形式     */    public static void getSumByStrongFor(){        int sum=0;        for (int i = 1, j=100; i < j; i++,j--) {            sum+=(i+j);        }        System.out.println("1+2+3+...+100的和getSumByStrongFor():"+sum);    }    /**     * 求1+2+3+...+100采用while的形式     */    public static void getSumByWhile(){        int sum=0;        int i = 1;         while (i < 101) {            sum+=i;            i++;        }        System.out.println("1+2+3+...+100的和getSumByWhile():"+sum);    }    /**     * 相加整数200以内的所有偶数和     */    public static void getSumByFor2(){        int sum=0;        for (int i = 2; i < 201; i+=2) {            sum+= i;        }        System.out.println("2+4+...+200的和getSumByFor2():"+sum);    }    /**     * 求1-2+3-4+5-6.....+99-100的值为多少     */    public static void getSignSum(){        int sum=0;        for (int i = 1; i < 101; i++) {            int temp=i;            if(temp%2==0){                temp=-i;            }            sum+=temp;        }        System.out.println("1-2+3-4+5-6.....+99-100的值为:"+sum);    }    /**     *  有用户输入值进行连加操作     * @param firstValue 值1     * @param lastValue  值2     */    public static void getInputSum(int firstValue,int lastValue){        //交换大小顺序        if(firstValue>lastValue){            int temp=firstValue;            firstValue=lastValue;            lastValue=temp;        }        int sum=0;        //计算结果        for (int i = firstValue; i <= lastValue; i++) {            sum+=i;        }        System.out.println(firstValue+"到"+lastValue+"的连续相加值为:"+sum);    }}
0 0