我想用system.in读入一个字符串,比如this is a boy,然后输出
this
is
a
boy
但是为什么结果错误呢?
import java.util.StringTokenizer;
import java.io.*;
public class TestTokenizer
{
public static void main(String []args)
{
String source="";
System.out.println("please input the text:");
try{
int intS=System.in.read();
source=String.valueOf(intS); }
catch(IOException e){
System.out.println("dddd");
}
StringTokenizer st=new StringTokenizer(source);
System.out.println(st.countTokens());
while(st.hasMoreTokens())
{
String value=st.nextToken();/*返回到下一个分隔符的字符*/
System.out.println(value+" "+st.countTokens());
}
}
}
this
is
a
boy
但是为什么结果错误呢?
import java.util.StringTokenizer;
import java.io.*;
public class TestTokenizer
{
public static void main(String []args)
{
String source="";
System.out.println("please input the text:");
try{
int intS=System.in.read();
source=String.valueOf(intS); }
catch(IOException e){
System.out.println("dddd");
}
StringTokenizer st=new StringTokenizer(source);
System.out.println(st.countTokens());
while(st.hasMoreTokens())
{
String value=st.nextToken();/*返回到下一个分隔符的字符*/
System.out.println(value+" "+st.countTokens());
}
}
}
import java.io.*;public class TestTokenizer {
public static void main(String[] args) {
String source = "";
System.out.println("please input the text:");
try {
BufferedReader in = new BufferedReader(new InputStreamReader(
System.in));
source = in.readLine(); } catch (IOException e) {
System.out.println("dddd");
}
StringTokenizer st = new StringTokenizer(source);
System.out.println(st.countTokens());
while (st.hasMoreTokens()) {
String value = st.nextToken();/* 返回到下一个分隔符的字符 */
System.out.println(value + " " + st.countTokens()); }
}
}
import java.io.*;public class TestTokenizer {
public static void main(String[] args) {
String source = "";
System.out.println("Please input the text: ");
try {
BufferedReader in = new BufferedReader(new InputStreamReader(
System.in));
source = in.readLine();
StringTokenizer st = new StringTokenizer(source);
System.out.println(st.countTokens());
while (st.hasMoreTokens()) {
String value = st.nextToken();
System.out.println(value + " " + st.countTokens());
}
} catch (IOException e) {
System.out.println("Read error!");
}
}
}
建议将处理放在try中。
应该是System.in.readline();