欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IMAUOJ-1241 Problem B:英文短语缩写

程序员文章站 2022-04-01 17:22:30
...

题目描述

对给定的英文短语写出它的缩写,比如我们经常看到的SB就是Safe Browsing的缩写。

输入

输入的第一行是一个整数T,表示一共有T组测试数据。

接下来有T行,每组测试数据占一行,每行有一个英文短语,每个英文短语由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;

单词长度不超过10,由一个或多个空格分隔这些单词。

输出

请为每组测试数据输出规定的缩写,每组输出占一行。

样例输入

end of file

样例输出

EOF

个人题目思路

利用Stirng类的split方法将输入的字符串根据空格分割成字符串数组,遍历字符串数组,当字符串数组元素不是单空格(即length>0,这种情况在输入两个空格时会出现)时,把元素的charAt(0)累加到空白字符串中,最后将累加好的字符串全部转大写输出。

源代码

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
        	int t=sc.nextInt();
        	sc.nextLine();
        	while(t-->0){
        		String str=sc.nextLine();
        		String[] s=str.split(" ");
        		String result="";
        		for(int i=0;i<s.length;i++){
        			if(s[i].length()>=1)
        				result+=s[i].charAt(0);
        		}
        		System.out.println(result.toUpperCase());
        	}
        }
    }
}

注:

String中的split(",")和split(",",-1)的区别

1、当字符串最后一位有值时,两者没有区别

2、当字符串最后一位或者N位是分隔符时,前者不会继续切分,而后者继续切分。即前者不保留null值,后者保留。

package stringsplit;
public class stringSplit {
     public static void main(String[] args) {
          String line = "hello,,world,,,";
          String res1[] = line.split(",");
          String res2[] = line.split(",", -1);
          int i=1;
          for(String r: res1)
              System.out.println(i+++r);
          System.out.println("========================");
          i=1;
          for(String r: res2)
              System.out.println(i+++r);
     }
}

 

输出结果是:

1hello

2

3world

========================

1hello

2

3world

4

5

6

相关标签: OJ