Abbreviation 英文词组缩写(来源:南阳理工大学ACM)java
2014-05-06 23:32
393 查看
Abbreviation
描述
As we know, we often use a short sequence of characters in place of some words with a very long name. For example, ACM is an abbreviation of “Association for Computing
Machinery”. Now we are using an acronymic method to get the abbreviation. An acronym is generated from a long name by capitalizing the first letter of every word in the name and concatenating them together. There is an exception: some words are ignored when
generating the abbreviation. These words( case insensitive) meet the following rules:
1. The common words “and”, “for”, and “the”.
2. The words with length less than 3, such as “a”, “of”, “to”. Your job is to get the abbreviation of a given string by using the acronymic method.
输入Input starts with an integer T (T <= 100), denoting the number of test cases. Each case contains a line with several words seperated by space(s). The length of each line is less than 100. And you can assume that there is
at least one available word for each case.
输出For each case, print the abbreviation of the word.
样例输入
样例输出
import java.util.Scanner;
/**
*
* @author admin
* As we know, we often use a short sequence of characters in place of some words with
* a very long name. For example, ACM is an abbreviation of “Association for Computing
* Machinery”. Now we are using an acronymic method to get the abbreviation. An acronym
* is generated from a long name by capitalizing the first letter of every word in the
* name and concatenating them together. There is an exception: some words are ignored
* when generating the abbreviation. These words( case insensitive) meet the following rules:
*
* 1. The common words “and”, “for”, and “the”.
*
* 2. The words with length less than 3, such as “a”, “of”, “to”.
* Your job is to get the abbreviation of a given string by using the acronymic method.
*
* 输入
* Input starts with an integer T (T <= 100), denoting the number of test cases.
* Each case contains a line with several words seperated by space(s). The length
* of each line is less than 100. And you can assume that there is at least one
* available word for each case.
* 输出
* For each case, print the abbreviation of the word.
* 实例:
* 输入:
* 5
* Online Judge
* Association for Computer Machinery
* Institute of Electrical and Electronics Engineers
* The Lord of the Rings
* netease
* 输出:
* OJ
* ACM
* IEEE
* LR
* N
*/
public class Abbreviation {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int num=Integer.valueOf(input.nextLine());
String[] strArr=new String[num];
for (int i = 0; i < strArr.length; i++) {
strArr[i]=input.nextLine();
}
input.close();
for (int i = 0; i < strArr.length; i++) {
computer(strArr[i]);
}
}
public static void computer(String str)
{
String[] word=str.split(" ");
String tempStr="";
for (int i = 0; i < word.length; i++) {
tempStr+=getWord(word[i]);
}
System.out.println(tempStr);
}
public static String getWord(String str)
{
if(str.length()<3||"and".equals(str)||"for".equals(str)||
"the".equals(str)||"And".equals(str)||"For".equals(str)||"The".equals(str))
{
return"";
}
return str.substring(0, 1).toUpperCase();
}
}
描述
As we know, we often use a short sequence of characters in place of some words with a very long name. For example, ACM is an abbreviation of “Association for Computing
Machinery”. Now we are using an acronymic method to get the abbreviation. An acronym is generated from a long name by capitalizing the first letter of every word in the name and concatenating them together. There is an exception: some words are ignored when
generating the abbreviation. These words( case insensitive) meet the following rules:
1. The common words “and”, “for”, and “the”.
2. The words with length less than 3, such as “a”, “of”, “to”. Your job is to get the abbreviation of a given string by using the acronymic method.
输入Input starts with an integer T (T <= 100), denoting the number of test cases. Each case contains a line with several words seperated by space(s). The length of each line is less than 100. And you can assume that there is
at least one available word for each case.
输出For each case, print the abbreviation of the word.
样例输入
5 Online Judge Association for Computer Machinery Institute of Electrical and Electronics Engineers The Lord of the Rings netease
样例输出
OJ ACM IEEE LR N
import java.util.Scanner;
/**
*
* @author admin
* As we know, we often use a short sequence of characters in place of some words with
* a very long name. For example, ACM is an abbreviation of “Association for Computing
* Machinery”. Now we are using an acronymic method to get the abbreviation. An acronym
* is generated from a long name by capitalizing the first letter of every word in the
* name and concatenating them together. There is an exception: some words are ignored
* when generating the abbreviation. These words( case insensitive) meet the following rules:
*
* 1. The common words “and”, “for”, and “the”.
*
* 2. The words with length less than 3, such as “a”, “of”, “to”.
* Your job is to get the abbreviation of a given string by using the acronymic method.
*
* 输入
* Input starts with an integer T (T <= 100), denoting the number of test cases.
* Each case contains a line with several words seperated by space(s). The length
* of each line is less than 100. And you can assume that there is at least one
* available word for each case.
* 输出
* For each case, print the abbreviation of the word.
* 实例:
* 输入:
* 5
* Online Judge
* Association for Computer Machinery
* Institute of Electrical and Electronics Engineers
* The Lord of the Rings
* netease
* 输出:
* OJ
* ACM
* IEEE
* LR
* N
*/
public class Abbreviation {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int num=Integer.valueOf(input.nextLine());
String[] strArr=new String[num];
for (int i = 0; i < strArr.length; i++) {
strArr[i]=input.nextLine();
}
input.close();
for (int i = 0; i < strArr.length; i++) {
computer(strArr[i]);
}
}
public static void computer(String str)
{
String[] word=str.split(" ");
String tempStr="";
for (int i = 0; i < word.length; i++) {
tempStr+=getWord(word[i]);
}
System.out.println(tempStr);
}
public static String getWord(String str)
{
if(str.length()<3||"and".equals(str)||"for".equals(str)||
"the".equals(str)||"And".equals(str)||"For".equals(str)||"The".equals(str))
{
return"";
}
return str.substring(0, 1).toUpperCase();
}
}
相关文章推荐
- 笨蛋得难题 (二)(来源:南阳理工大学ACM)java&&C
- 笨蛋得难题 (来源:南阳理工大学ACM)java
- Java常用英文缩写术语全称
- java-第五章-while-输入1~7,输入0结束循环,输出英文星期的缩写
- 计算机用语中常见英文缩写和词组
- 初学java 之 java常用英文缩写
- 初学java 之 java常用英文缩写
- java中常用名词的英文缩写释义
- java动态参数列表即可变参数【可变的参数类型,也称为不定参数类型。英文缩写是varargus,还原一下就是variable argument type。】
- java英文缩写
- Java技术常见的英文缩写
- java中常用名词的英文缩写释义
- HDOJ 1063 HDU 1063 Exponentiation JAVA 编写 ACM 1063 IN HDU
- [LeetCode] Valid Word Abbreviation 验证单词缩写
- ACM中java的使用(速成)
- JAVA开发者应该去的20个英文网站
- XYNUOJ 词组缩写
- JAVA开发者最常去的20个英文网站
- JAVA开发者应该去的20个英文网站
- ACM中java的使用