Scanner类中的方法
优点一: 可以获取键盘输入的字符串
优点二: 有现成的获取int,float等类型数据,非常强大,也非常方便;
import java.util.Scanner; //Scanner是一个类,简化文本扫描,获取控制台输入
Scanner a=new Scanner(System.in);//从键盘接收数据,即接通了键盘流
System.out.println("请输入:"); //这个是很有必要的,在一些输入中没有这个可能执行不了,因为不知何时断点
int score=a.nextInt();//以nextInt()的方法获取(还有很多其他方法),看输入的是什么类型
可以用a.hasNextInt()
来判断输入的是否为整数,其他类型同理
InputStreamReader和BufferedReader方法
优点: 可以获取键盘输入的字符串
缺点: 如果要获取的是int,float等类型的仍然需要转换
InputStreamReader is = new InputStreamReader(System.in); //new构造InputStreamReader对象,接通键盘,变为字节流
BufferedReader br = new BufferedReader(is); //构造的方法传到BufferedReader中,将字节流变为字符流
try{ //该方法中有个IOExcepiton需要捕获
String name = br.readLine(); //读出字符串给name
System.out.println("ReadTest Output:" + name);
}
catch(IOException e){
e.printStackTrace();
}
System.in和System.out方法
缺点一: 该方法能获取从键盘输入的字符,但只能针对一个字符的获取
缺点二: 获取的只是char类型的。如果想获得int,float等类型的输入,比较麻烦。
import java.io.IOException;
try{
System.out.print("Enter a Char:");
char i = (char)System.in.read(); //作用句
System.out.println("Yout Enter Char is:" + i);
}
catch(IOException e){
e.printStackTrace();
}
使用命令行参数完成输入
public class circlecan {
public static void main(String[] args) {
double circle=0;
// TODO Auto-generated method stub
double area=0;
if(args.length==0) //主方法中的参
{
circle=0;
area=0;
}
else
{
int r;
r=Integer.parseInt(args[0]); //同
circle=r*3.14*2;
area=r*r*3.14;
}
System.out.println(circle);
System.out.println(area);
}
}
运行前,在Run–〉Debug configurations–>(x)Arguments–>program argument中调参数