zoukankan      html  css  js  c++  java
  • name

    题目描述

    lpq同学最近突然对外国人的名字产生了兴趣,特别是外国女生的名字,于是他开始试图去认识一些国外的女生。

    随着认识的女生数量越来越多,lpq发现他的脑子不够用了——他不能准确地记住每个女生的名字。终于有一天,当他又把Hello Kitty和Dear Amy的名字弄混并遭到暴力后,他突发奇想:如果我把每个人的名字按不同部分的首字母变成缩写,就便于记忆,也就不会把名字弄混了。

    比如:Hello Kitty简写成HK,Dear Amy简写成DA。

    lpq还决定,对于名字简写长度大于5(不包括5)的女生,他便放弃交往。 
    但是lpq认识的女生太多了,于是他想到了作为神犇的你,请你帮助他。

    输入

    第一行输入一个整数N(N<=10000),表示女生的人数。

    接下的N行,每行包含一个字符串,为一个女生的全名,其中名字不同部分之间用’~!@#$%^&*()’分隔,字符串的长度不大于100。

    保证输入的字符只有字母及’~!@#$%^&*()’(不包括引号)。

    输出

    输出第一行为一个整数K,表示可以继续交往的女生人数。

    接下来K行,每一行包括由若干字母组成的字符串,表示对应名字的缩写。

    样例输入

    3
    Hello@#^Kitty
    Dear~^Amy
    Sro~Li~Pei~Qian
    

    样例输出

    3
    HK
    DA
    SLPQ


    算法:
    import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		String str[] = new String[n];
    		String ss[] = new String[n];
    		sc.nextLine();
    		for (int i = 0; i < ss.length; i++) {
    			str[i] = sc.nextLine();
    		}
    		
    		for (int i = 0; i < ss.length; i++) {
    			ss[i] = str[i].substring(0, 1);
    			for (int j = 1; j < str[i].length(); j++) {
    				if(f(str[i].charAt(j))&&!f(str[i].charAt(j-1))) {
    					if(j==str[i].length()-1) {
    						ss[i] += str[i].substring(j);
    					}else {
    						ss[i] += str[i].substring(j, j+1);
    					}
    				}
    			}
    		}
    		int t = 0;
    		for (int i = 0; i < ss.length; i++) {
    			if(ss[i].length()>5) {
    				continue;
    			}else {
    				t++;
    			}
    		}
    		System.out.println(t);
    		for (int i = 0; i < ss.length; i++) {
    			if(ss[i].length()>5) {
    				continue;
    			}else {
    				System.out.println(ss[i]);
    			}
    		}
    		
    	}
    
    	private static boolean f(char charAt) {
    		if((charAt>='a'&&charAt<='z')||(charAt>='A'&&charAt<='Z')) {
    			return true;
    		}
    		return false;
    	}
    }
    

      

  • 相关阅读:
    MMORPG 游戏服务器端设计转载
    OpenFileMapping失败 原因ERROR_FILE_NOT_FOUND
    让程序在崩溃时体面的退出转
    [c\C++]线程函数的比较
    VS2005 2008 2010字体颜色配置方案
    用文件映射(File Mapping)实现进程间内存共享
    [Debug]通过LeakDiag查看内存泄漏
    线程函数的设计以及MsgWaitForMultipleObjects函数的使用要点 转
    VC++ 中使用内存映射文件处理大文件
    透视投影
  • 原文地址:https://www.cnblogs.com/-rainbow-/p/8902067.html
Copyright © 2011-2022 走看看