小白的日常(1)OJ英文缩写问题

问题 B: 英文短语缩写

时间限制: 1 Sec  内存限制: 128 MB
提交: 685  解决: 102
[提交][状态][讨论版]

题目描述

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

输入

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

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

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

输出

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

样例输入

1
end of file

样例输出

EOF

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        while(input.hasNext()){
            int N=input.nextInt();
            input.nextLine();
            while(N-->0){
                String str=input.nextLine();
                for(int i=0;i<str.length();i++){
                    if((i==0||str.charAt(i-1)==' ')&&str.charAt(i)!=' '){//重点理解
                        char c=str.charAt(i);
                        System.out.print((char)(c>='a'&&c<='z'?c-32:c));
                    }
                }
                System.out.println();
            }
        }
    }
}

其中while(input.hasNext())是我们学校Oj规定的格式

作用:input.hasNext(),表示你是否输入数据,只要你输入数据,它就相当于while(1)+ input.next(),当你输入数据时,它就返回true,想要停下来,可以调用hasNext()的重载方法hasNext(String patten),

例如while(!input.hasNext("quit")),当输入quit时停止循环

 

As far as I'm concerned,nothing is more important that 

划重点:

1:把所有条件都想全了什么时候获取单词首字母并输出::第一个字母不为空格时和某处前一个是空格且该处不为空格时,将该处输出

2.

       int N=input.nextInt();
            input.nextLine();
            while(N-->0){
                String str=input.nextLine();
此处的input.nextLine();语句是一个挺坑人的地方,当nextInt()后接nextLine()会出现错误后者会混到前者的输入当中,详解自行百度
posted @ 2018-11-04 20:13  controlyourself  阅读(861)  评论(1编辑  收藏  举报