利用一维String数组进行男女生到场情况统计

 1 package com.snape.java._3th.Test19;
 2 
 3 import javax.xml.transform.sax.SAXTransformerFactory;
 4 import java.util.Random;
 5 import java.util.concurrent.CountDownLatch;
 6 
 7 //利用一维String数组进行男女生到场情况统计
 8 public class Boy_Girl_Counter {
 9     public static void main(String[] args) {
10         int sum_boy = 0;    //男生到场人数
11         int sum_girl = 0;   //女生到场人数
12 
13         //----------------------------------------------------------------------关键代码
14         //构建男女生到场情况表格,并打印出来(每行10个)
15         String[] sexy = new String[50]; //假设共有50人
16         for(int i=0; i<sexy.length; i++){
17             Random rd = new Random();
18             int lsex = rd.nextInt(2);   //随机获取0或1
19             int rate = rd.nextInt(2);   //随机获取0或1
20             sexy[i] = lsex + "," + rate;
21             System.out.print(sexy[i] + "		"); //打印每个学生的情况(性别,到场与否)
22             if((i+1)%10 == 0){
23                 System.out.println();   //换行
24             }
25         }//for结束
26 
27         //遍历表格,统计情况
28         for(int i=0; i<sexy.length; i++){
29             //获取每个学生的性别和到场与否情况
30             String[] status = sexy[i].split(",");       //正则表达式
31             if(status[0].equals("0") && status[1].equals("1")){     //男生且到场
32                 sum_boy++;
33             }else if(status[0].equals("1") && status[1].equals("1")){   //女生且到场
34                 sum_girl++;
35             }
36         }//for结束
37 
38         System.out.println("到场男生人数:" + sum_boy);
39         System.out.println("到场女生人数:" + sum_girl);
40     }
41 }

结构:

点评:利用一维数组即可解决本来得用二维数组才能解决的问题,核心是正则表达式split()的使用

原文地址:https://www.cnblogs.com/CPU-Easy/p/12175286.html