怎么用java实现用从键盘输入一行字符串当遇到句号的时候结束输入?

如题所述

java 使用scanner接收用户从键盘输入的字符,使用while类来判断是否输入的字符为句号,如下代码:

import java.util.Scanner;

public class ceshi {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);//新建一个scannerç±»
String[] input = new String[26];
int i = 0;
do {
input[i] = in.next();
i++;
} while (!input[i - 1].equals("。"));//当遇到句号则将scanner类终止
in.close();

}
}

运行结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-26
package test;

import java.util.Scanner;

public class TestAgain {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
//sc.useDelimiter("\\.");//英文句号,要换成中文的自己换.由于英文句号是特殊字符,所以要转义
sc.useDelimiter("。");//中文句号
String content = sc.next();
sc.close();
System.out.println(content);
}
}

追问

可是还是要换行才能执行输出

追答

什么意思?举个例子.

追问

难得遇到个好人这么有耐心,谢啦!其实我的意思是想要键盘输入一句字符串当遇到英文的句号时结束输入,再把输入的句子显示出来。

追答

那我这段代码正好满足你的要求了呀,把中文句号那句注释掉,把英文句号那句取消注释就可以了。

追问

这个程序比如我输入的是:hdkashd.dasdas 输出的是:hdkashd
我想要的是当我输入英文句号后就不能继续输入了,直接显示句号以前的句子。而上面的代码在输入英文句号后还是可以继续输入的。

追答

你想要的这个功能是不能实现的,就想qq聊天一样,你写完聊天内容只有可以按快捷键Ctrl + Enter发送或者Enter发送,我要想按句号(大于)键发送呢,行不行呢,行,自己写个qq,把发送的快捷键定为句号那个按键。这里也是一样的道理,enter用于通知系统,该接收这个输入的数据了,当然你以后也可以自己写个Eclipese,你就规定句号键有enter键的功能也可以啊。

追问

谢啦!其实我也不知道老师的意思是什么今天问了一下估计是我理解错了,刚学不太会用这个输入流。

第2个回答  2015-09-11
import java.util.Scanner;
public class baidu {
public static void main(String args[]) {
   Scanner scanner = new Scanner(System.in);
   String str = "";
   while (!(str=scanner.nextLine()).equals(".")) {        
           System.out.println("you input:"+str);
   }
 }
}

用Scanner类

第3个回答  2013-11-26
可以按照 读入一串字符串按照句号拆分,这样就能分出一句话了本回答被提问者采纳
相似回答