1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import java.util.Scanner; public class Lianxi10{ public static void main (String[]args){ Scanner input = new Scanner(System.in); System.out.println ("这个小程序的作用是:\n假如我需要计算1+2+3+4+5...+100=?\n那么我就可以运用这个小程序来解决.\n只需输入一个比1大的正整数,即可出现结果."); System.out.println ("********************************************"); int a = 1; //a的数据为1 System.out.println("输入一个正整数,比如100,然后按回车:");//输出提示文字 int b = input.nextInt(); //输入b的数据 int c = b ; //c的数据等于b int d = 2; //d的数据等于2 int e = (a+b)*c/d ;//运算公式 System.out.println ("计算结果为:"+e);//输出计算结果 System.out.println ("运算结束,感谢使用!");//end /* * 注意: * 1.a必须为1,否则运算将出现错误 * 2.b必须为正整数,若输入负整数,运算结果将出现偏差(大致为:输入-100,运算结果比实际结果少100,输入-50,运算结果比实际结果少50.) */ } } |
思前想后,只有将a定义为1才能运算正常。
以后若有变化,将直接在此日志更新,不在新开日志以便搞混了。
代码更新:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import java.util.Scanner; public class Lianxi10{ public static void main (String[]args){ Scanner input = new Scanner(System.in); System.out.println ("这个小程序的作用是:\n假如我需要计算1+2+3+4+5...+100=?\n那么我就可以运用这个小程序来解决.\n只需输入一个比1大的正整数,即可出现结果."); System.out.println ("********************************************"); int a = 1; //a的数据为1 System.out.println("输入一个正整数,比如100,然后按回车:");//输出提示文字 int b = input.nextInt(); //输入b的数据 int c = b ; //c的数据等于b int d = 2; //d的数据等于2 if ( b>1 ) { int e = (a+b)*c/d ;//运算公式 System.out.println ("计算结果为:"+e);//输出计算结果 System.out.println ("运算结束,感谢使用!");//end } else { System.out.println ("运算出错了!!\n请检查输入的数字是否为大于1的正整数,然后再次运行本程序.") } /* * 注意: * 1.添加if,便于辨识b是否为正整数,若为正整数则正常运行,若错误则提示错误; * 2.同时添加if-else,以便在正常运算时,不运行错误提示. */ } } |
- 添加if,便于辨识b是否为正整数,若为正整数则正常运行,若错误则提示错误;
- 同时添加if-else,以便在正常运算时,不运行错误提示.
这个是高斯发明的,
定义一个start,一个end,以1递增,或递减
double q =(start + end)/2 有多少项 int count = Math.abs(end – start)+1;
所以程序段:
int sum(start,end){
double q =(start + end)/2;
int count = Math.abs(end – start)+1;
int result =(int) q * count;//我们知道result是个int的
return result;
}