对于字符串的读入,我们有Scanner与BufferedReader两种方法
对于Scanner 类要导入java.util 包里面的Scanner 类
import java.util.*;
public class Welcome {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
System.out.print("please enter a string :");
//这种方法也可以
//System.out.println("the string you entering is :" + input.next());
string str =input.next();
System.out.println("the string you entering is :" + str);
}
}
注意输出的时候,
我们先定义了Scanner类的一个对象input,再用对象input使用next()方法进行字符串的输出
注意,用Scanner类进行输入有缺点和优点,就是用Scanner获得用户的输入非常的方便,但是Scanner取得输入的依据是空格符,包括空格键,Tab键和Enter键.当按下这其中的任一键时,Scanner就会返回下一个输入. 当你输入的内容中间包括空格时,显然,使用Scanner就不能完整的获得你输入的字符串.
这时候我们可以考虑使用BufferedReader类取得输入.其实在Java SE 1.4及以前的版本中,尚没有提供Scanner方法,我们获得输入时也是使用BufferReader的.
对于BufferedReader类是存在java.io包中的,并且使用定向导入类时,不止导入一个类
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
就是要导入上面三个类,就是说,虽然要导入的多了,但是我们只要先记住这几个就可以啦!
当然,我们也可以直接用导入java.io包中全部的类
import java.io.*;
看代码
package demo;
//import java.io.*;
//相当于下面三行
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Welcome{
public static void main(String[] args)throws IOException
//throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)
{
BufferedReader buffer =new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please enter a string :");
String str =buffer.readLine();
System.out.println("The string you entering is :" + str);
}
}
注意要用到,throws方法 同时 Bufferedread的对象的声明也和Scanner 有较大的区别