实验6 ArrayList的使用
一、实验目的
1、掌握java中容器的概念;
2、掌握java中ArrayList的使用方法;
二、实验学时
2 学时
三、实验内容
1、按要求编写程序
1)创建一个可以容纳10个int的整形数组;
2)用20~30之间的随机数填充该数组;
3)分别用两种格式的for循环输出数组中的元素;package shiyan;
public class liti {
public static void main(String[] args) { //创建一个可以容纳10个int的整形数组
int[] a = new int[10];
//用20~30之间的随机数填充该数组
for (int i=0; i < a.length; i++) {
a[i] = (int)(Math.random()*11 + 20);
}
//分别用两种格式的for循环输出数组中的元素
for (int i=0; i< a.length; i++) {
int v = a[i];
System.out.print(v + " ");
}
System.out.println();
for (int v:a) {
System.out.print(v + " ");
}
System.out.println();
}
}
结果:
29 24 23 22 26 28 25 27 26 24
294 23 22 26 28 25 27 26 24
3、产生100个100~200之间的随机数,并保存到ArrayList中,求上述ArrayList中的
平均值,删除上述ArrayList中大于平均值的数,并输出ArrayList中剩余的数;package shiyan;
import java.util.ArrayList;
public class liti {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i=0; i<100; i++) {
int a = 100 + (int)(Math.random() * 101);
list.add(a);
}
int sum = 0;
for (int a : list) {
sum += a;
}
double avg = sum / list.size();
System.out.println("avg = " + avg);
// 删除上述ArrayList中小于平均值的数
for (int i=list.size() - 1; i>=0; i--) {
if (list.get(i) < avg) {
list.remove(list.get(i));
}
}
for (int a : list) {
System.out.println(a);
}
}
}
结果:
avg = 147.0
148
149
181 170 163 156 182 186 197 195 197 151 163 185 151 182 155 199 194 187 182 187 149 169 149 150 150 187 184 189 163 174 179 182 163 175 175 193 181 161 188 196 181 172 171
152
162
165
3、基于实验5中的Person类
创建4个对象(你自己、张三、李四、王五),把他们放入ArrayList中,求上述ArrayList 中的平均体重,输出大于平均体重的人的名字;分别用两种格式的for循环输出数组中的个人信息。
程序一:
package shiyan;
public class person {
private String name;
private int age;
private double height;
private double weight;
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
}
程序二:
package shiyan;
import java.util.ArrayList;
public class liti {
static void setPersonValue(person p) {
p.setHeight(1+Math.random() * 1.4);
p.setWeight(20 + Math.random() * 100);
}
static void addPerson(ArrayList<person> list, String name) { person p = new person();
p.setName(name);
setPersonValue(p);
list.add(p);
}
public static void main(String[] args) {
ArrayList<person> list = new ArrayList<person>();
addPerson(list, "张三");
addPerson(list, "李四");
addPerson(list, "赵五");
addPerson(list, "王继禹");
double sum = 0;
for (person p : list) {
sum += p.getWeight();
}
double avgWeight = sum / list.size();
System.out.println("average weight = " + avgWeight);
for (person p : list) {
if (p.getWeight() > avgWeight) {
System.out.println(p.getName());
}
}
}
}
结果:
average weight = 78.32553532449965
张三
赵五。