package practiceGO; import java.util.Scanner; /* * 5.手动输入两个数字m和n,运算求出m~n之间所有偶数的和 */ public class Cto { public static void main(String[] args) { Scanner sc = new Scanner(System .in); System.out.println("请输入两个数字,求出两数之间所有偶数的和:"); System.out.println("请输入第一个数:"); int m = sc.nextInt(); System.out.println("请输入第二个数:"); int n = sc.nextInt(); int m_n = 0; //表示(m-n)的差 int oddNum_sum = 0;//记录偶数的和 if ( m==n || (m-n)<2&&m>n || (m-n)>-2&&m<n ) { System.out.println(m+" 和 "+n+" 之间没有偶数"); }else{ if (m-n > 0) { m_n = (m-n); }else{ m_n = (n-m); } } int a = m; int b = n; //不直接操作m、n for(int i=0; i<m_n-1; i++){ if (a-b < 0) { if ((a+1)%2 == 0) { oddNum_sum += (a+1); } a++; } if(b-a < 0) { if ((b+1)%2==0) { oddNum_sum += (b+1); } b++; } } System.out.println(m+" ~ "+n+"之间所有偶数之和为:"+oddNum_sum); } }
测试:
请输入两个数字,求出两数之间所有偶数的和: 请输入第一个数: -1 请输入第二个数: -2 -1 和 -2 之间没有偶数 -1 ~ -2之间所有偶数之和为:0
请输入两个数字,求出两数之间所有偶数的和: 请输入第一个数: -1 请输入第二个数: -5 -1 ~ -5之间所有偶数之和为:-6
请输入两个数字,求出两数之间所有偶数的和: 请输入第一个数: 0 请输入第二个数: 2 0 ~ 2之间所有偶数之和为:0
请输入两个数字,求出两数之间所有偶数的和: 请输入第一个数: 0 请输入第二个数: 5 0 ~ 5之间所有偶数之和为:6
请输入两个数字,求出两数之间所有偶数的和: 请输入第一个数: 1 请输入第二个数: 3 1 ~ 3之间所有偶数之和为:2
请输入两个数字,求出两数之间所有偶数的和: 请输入第一个数: 6 请输入第二个数: 90 6 ~ 90之间所有偶数之和为:1968