算法训练 动态数组使用
时间限制:1.0s 内存限制:512.0MB
从键盘读入n个整数,使用动态数组存储所读入的整数,并计算它们的和与平均值分别输出。要求尽可能使用函数实现程序代码。平均值为小数的只保留其整数部分。
样例输入:
5
3 4 0 0 2
样例输出:
9 1
样例输入:
7
3 2 7 5 2 9 1
样例输出:
29 4
(看了百度上很多Java写法,都是直接用静态数组进行读入及存放,几乎没有用动态数组的,就试着用ArrayList写了一下,不喜勿喷。)
首先是将数据进行读入操作,此处使用aList.add(sc.nextInt())进行数据的存入。其次是进行加法操作时,因为存入的数据不是整型,所以对其进行强制转换,将其变为整型数字进行加法运算,在从ArrayList中取数据时,使用aList.get(i)。水题就不多说了,直接看代码吧
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
ArrayList aList=new ArrayList();
for(int i=0;i<n;i++){
aList.add(sc.nextInt());
}
int sum=0;
for(int i=0;i<n;i++){
int j=(int)aList.get(i);
sum+=j;
}
System.out.println(sum+" "+sum/n);
}
}