代码不能有太多重复和类似的地方
比如说计算从数字5到20,25到40,45到60各个阶段的总数和,虽然这不是一个复杂的问题,但我想大部分人会这样去写代码,这样往往会增加有过多代码重复性,一个程序员使用到太多复制粘贴,这显然是一个不好的现象。
比如说如下重复代码:
import java.util.Scanner;
public class digitsum2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int i;
int sum = 0;
for(i=5;i<20;i++)
{
sum+= i;
}
System.out.println("5到20的和为;"+sum);
for(i=25;i<40;i++)
{
sum+= i;
}
System.out.println("25到40的和为;"+sum);
for(i=45;i<60;i++)
{
sum+= i;
}
System.out.println("45到60的和为;"+sum);
}
}
尽管如此,无论是哪一门编程语言都有他特定函数使用方法
java语言的函数机制,也是非常的方便,函数调用,参数传递,正是为此创造的,避免这种代码不良的现象。
解决方法如下:
import java.util.Scanner;
public class digitsum {
public static void sum(int a,int b) //参数变量a和b
{
int i;
int sum = 0;
for(i=a;i<=b;i++)
{
sum+=i;
}
System.out.println("从数字a到b的和为:"+sum);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
sum(5,20);//从这里开始利用创建的sum函数来传递这些参数给a和b
sum(25,40);
sum(45,60);
}
}
如上程序,出现了代码复制的情况,这是代码不良的表现,所以要开始全部分段
把公共的代码部分全部提取出来,形成一个公共的函数,来进行这个工作
函数是一块代码,接受零个或多个参数,做一件事情,并返回零个或一个值
创建函数的格式:public static void 函数名(参数1,参数2,……参数n)void是函数的返回类型{代码块也就是函数体}
返回传递函数参数值的格式:函数名(变量1,变量2……变量n) 进行传递