**要求:
必须采用封装
1:用户输入1.7.12.31.35.48.58.62(可数不定,有时候会输入2个,有时候会输入20个)
2:年龄组会变化,有时候1-7叫儿童 , 8到17叫未成年.
有时候1-5叫儿童,6-12年童年,13-17叫为成年.**
**目标:
1:用户输入年龄,判断出各个年龄段各有多少人.
2:快速实现年龄组划分标准设定
3:固定报名费500元/人,儿童组和退休组除了交纳固定报名费还需要额外交纳150元关照费.
4:输出一共有几个人,各个年龄段各有多少人,各个组报名费是多少钱,总报名费是多少钱
**
贴上几个自己瞎写的代码.(未完成,没有参考性)
import java.util.*;
public class Test {
public static void main(String[] args) {
AgeGroup ageGroup = AgeGroup.InitGroup();
System.out.println(ageGroup.getGroup().toString());
List a=new ArrayList();
a.add(2);
a.add(24);
a.add(12);
a.add(25);
a.add(65);
a.add(55);
a.add(42);
a.add(35);
a.add(80);
ageGroup.isWhich(a);
ageGroup.fee();
System.out.println(ageGroup.getGroup().toString());
}
}
class AgeGroup{
private Random ageRd;
public List getGroup() {
return group;
}
public void setGroup(List group) {
this.group = group;
}
private List group;
private AgeGroup(){
ageRd = new Random();
group = new ArrayList();
int t= 1;
for (int i =0;i<6;i++){
List value = getValue(t);
t = (int) value.get(1);
group.add(value);
}
}
private List getValue(int t) {
List comp = new ArrayList();
comp.add(t);
t = ageRd.nextInt(t + 10) + t;
comp.add(t);
comp.add(0);
return comp;
}
public static AgeGroup InitGroup(){
AgeGroup a=new AgeGroup();
return a;
}
public void isWhich(List<Integer> list){
for (int i = 0;i<list.size();i++){
for (int j=0;j<group.size();j++){
List li = (List) group.get(j);
int c = list.get(i);
int max = (int) li.get(1);
int min = (int) li.get(0);
if (c>min&&c<max){
((List) group.get(j)).set(2,(int) ((List) group.get(j)).get(2) + 1);
}
}
}
}
public void fee(){
int allNum=0;
for (int i = 0;i<group.size();i++){
int c=0;
List list= (List) group.get(i);
if (i==0||i==group.size()-1){
c= (int) list.get(2) * 500+ (int) list.get(2) * 150;
allNum += c;
System.out.println("第"+(i+1)+"组费用:"+c);
}else {
c = (int) list.get(2) * 500;
allNum += c;
System.out.println("第" + (i + 1) + "组费用:" + c);
}
}
System.out.println("总计:"+allNum);
}
}