编写程序,读取从键盘中输入的一句话,并且打印出各个单词的第一个字母。
例:
Enter a line of text: l love java very much
The answer should be: ILJVM
有人已经给出了答案:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a line of text:");
String str=sc.nextLine();
String[] s = str.split(" ");
System.out.print("The answer should be:");
for(int i=0;i<s.length;i++){
char[] ss= s.toUpperCase().toCharArray();
System.out.print(ss[0]);
}
这样确实可以。但是目前还没有学到array呢,请问还有别的方法么?
比如我这样想的:
public static void main(String[] args){
System.out.print("Enter a line of text:");
Scanner keyboard=new Scanner(System.in);
String s="";
String str=keyboard.next();
while ( str!=null && 问题所在 )
{char ch=str.charAt(0);
s+=ch;
str=keyboard.next();
}
System.out.println(str);
先忽略大小写问题,目前的问题所在就是不知道怎么捕捉用键盘输入 a line of text之后需要的那个回车,来结束while循环。实验了str.indexOf('\r')!=-1,keyboard.nextLine()!=null,str.charAt(0)=='\n',或者equals(""),valueOf(),不过都得不到false,以至于跳不出循环。
这样的话,该怎么得到用键盘输入的最后那个回车啊?想法比较菜,勿笑
解决方案 »
- 求高手指教
- java 中进程与线程咨询,以及JAVA线程占用CPU 高的问题
- java FileInputStream读取excel出错问题
- 求获取内存总容量与空闲内存的程序代码或者程序
- 两个文本区的选取问题,比较菜,希望大家来帮帮忙:)
- 初学者小问:请问定义自己的map时,implements Map.Entry有什么用?
- java菜问题一个
- 寻JAVA语言的FIFO算法实现
- 在jdk1.3.1,用jdbc-odbc桥连接。提示'no suitable driver',而用jdk1.2.1好用。why
- 紧急求助!!JXL往excel模板中写数据,excel模板的数据透视表失效。
- 一道java面试题
- 求一C#正则表达式,转JAVA
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String line;
while((line=br.readLine())!=null){
if(!line.trim().equals("")){
System.out.println("Line:"+line);
}
else {
System.out.println("Line:NULL,break.");
break;
}
}
}