/*
2.任意定义一个数组,用for,while和递归三种方式求和
*/
import java.util.*;
class ArrayToSum
{
public static void main(String[] args)
{
//定义数组
int [] arr={34,-8,9,93,2,-60,4,152};
printArray(arr);
int sum1=forToSum(arr);
System.out.println("sum1="+sum1);
int sum2=WhileToSum(arr);
System.out.println("sum2="+sum2);
int sum3=diGuiToSum(arr);
System.out.println("sum3="+sum3);
}
//定义方法用for方式求和
public static int forToSum(int [] arr)
{
int sum=0;
for(int i=0;i<arr.length;i++)
{
sum+=arr[i];
}
return sum;
}
//定义方法用while方式求和
public static int WhileToSum(int [] arr)
{
int sum=0,i=arr.length-1;
while(i>=0)
{
sum+=arr[i--];
}
return sum;
}
//定义方法用递归方式求和
public static int diGuiToSum(int [] arr)
{
//int[] arr1=arr;
int sum=0,i=arr.length;
if(i==1)
return sum+=arr[i-1];
// arr.length--;
return sum+arr[i-1]+diGuiToSum(Arrays.copyOf(arr,i-1));
}
//打印数组
public static void printArray(int [] arr)
{
System.out.print("[");
for(int i=0;i<arr.length;i++)
{
if(i==arr.length-1)
System.out.print(arr[i]);
else System.out.print(arr[i]+",");
}
System.out.println("]");
}
}
|