PTA-6-51(处理数组、字符串) 人口统计

文章介绍了如何在Java中实现一个名为`numofHan`的函数,用于统计给定人员信息数组中民族为“汉族”或“汉族人”的人数。函数通过遍历数组,解析每个字符串并检查最后一个元素来计算汉族人数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

本题运行时要求键盘输入10个人员的信息(每一个人信息包括:姓名,性别,年龄,民族),要求同学实现一个函数,统计民族是“汉族”的人数。

函数接口定义:

public static int numofHan(String data[])

其中 data[] 是传入的参数。 data[]中的每一个元素都是一个完整的人员信息字符串,该字符串由“姓名,性别,年龄,民族”,各项之间用英文半角的逗号分隔。函数须返回 值是汉族的人数。

裁判测试程序样例:

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        final int HUMANNUM=10;
        String persons[]=new String[HUMANNUM];
        Scanner in=new Scanner(System.in);
        for(int i=0;i<persons.length;i++)
            persons[i]=in.nextLine();
        int result=numofHan(persons);
        System.out.println(result);
    
    }
    
    /*在此处给出函数numofHan()*/
    

}


根据题目要求,代码实现如下:

public static int numofHan(String data[]) {
    int sum = 0;
    for (int i = 0; i < data.length; i++) {
        String s = data[i].toString();
        String ch[] = s.split(",",4);
        if(ch[ch.length-1].equals("汉族")||ch[ch.length-1].equals("汉族人"))
            sum++;
    }
    return sum;
}

以上就是 PTA-6-51(处理数组、字符串) 人口统计 的全部内容了,希望能对你有所帮助!

### 实现字符串随机排列 为了实现字符串的随机排列功能,可以采用Python语言编写一段程序来完成此操作。下面展示了一种方法,通过将给定字符串转换成列表形式以便于打乱顺序,之后再将其重新组合成新的字符串。 ```python import random def shuffle_string(s): char_list = list(s) # 将字符串转为字符列表 random.shuffle(char_list) # 随机打乱字符列表中的元素位置 shuffled_s = ''.join(char_list) # 把列表里的字符拼接起来形成新字符串 return shuffled_s if __name__ == "__main__": input_str = "hello" result = shuffle_string(input_str) print(f"原始字符串: {input_str}") print(f"随机排列后的字符串: {result}") ``` 上述代码定义了一个`shuffle_string()`函数用于接收一个参数`s`作为待处理的目标字符串[^1]。首先利用内置的`list()`函数把传入的字符串变为由单个字符组成的列表,接着调用`random.shuffle()`对这个列表内部成员的位置做随机调整,最后借助`''.join()`方法把这些被打散重排过的字符再次连结成为完整的字符串并返回出去。 当执行这段脚本的时候,在主逻辑部分设定了测试使用的固定字符串 `"hello"` 并打印出了经过变换前后的样子供观察对比效果。 #### 注意事项 - `random.shuffle()`会直接修改它所作用的那个序列对象本身而不会创建副本。 - 如果希望保持原有数据不变,则应该先复制一份独立的数据集来进行混洗工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值