java怎么从控制台输入的几种方法
2016-06-22 01:52
453 查看
1.InputStreamReader输入
package com.file;
import java.io.*; //InputStreamReader类在java.io.*;哩
public class FtTestthread {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
char[] s=new char[1024]; //这里解释一下,不能用String去承接,因为是单个字符这样读的,如果用String的话,必须用BufferedReader
InputStreamReader r=new InputStreamReader(System.in);
System.out.println("输入:");
try {
r.read(s);
// 解释一下,输入流的r.read (m)函数的参数,指的是,将r指代路径的内容输给m,r的指代路径是System.in,m这里是指s
System.out.println(s);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{try {
r.close();
//唯一需要注意的就是,用流的时候,要有提前在finally里关闭流的习惯,不然会出大事
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
}
}
2.用BufferedReader
package com.file;
import java.io.*;
import java.nio.CharBuffer;
public class FtTestthread {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//char[] s=new char[1024];
String s2="";
InputStreamReader r=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(r);
System.out.println("输入:");
try {
//r.read(s);
s2+=br.readLine();
//和第一种做了对比,对比差异被我放进了注释,BufferedReader可以按行读取,一行一行读,所以出来的直接可以用
System.out.println("输出"+s2);
//String承接
//System.out.prinln(s);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{try {
r.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
}
}
3.用Scanner类
package com.file;
import java.util.*; //util包有很多好用的,集合框架都包含在里面
public class Testtwo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);
String s=null;
System.out.println("输入:");
s=scan.nextLine();
scan.close(); //scan的用法比较简单,不多赘述了
System.out.println("输出为:"+s);
}
}
4.如何把字符串转换成其他形式呢
package com.file;
import java.util.*;
public class Testtwo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="123";
int b=Integer.parseInt(s);
s="23.4";
float c=Float.parseFloat(s);
System.out.println("int型:"+b);
System.out.println("浮点型"+c);
}
//就这样、转long就是 Long.parseLong(s)
嘻嘻~~~~~~~~~
package com.file;
import java.io.*; //InputStreamReader类在java.io.*;哩
public class FtTestthread {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
char[] s=new char[1024]; //这里解释一下,不能用String去承接,因为是单个字符这样读的,如果用String的话,必须用BufferedReader
InputStreamReader r=new InputStreamReader(System.in);
System.out.println("输入:");
try {
r.read(s);
// 解释一下,输入流的r.read (m)函数的参数,指的是,将r指代路径的内容输给m,r的指代路径是System.in,m这里是指s
System.out.println(s);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{try {
r.close();
//唯一需要注意的就是,用流的时候,要有提前在finally里关闭流的习惯,不然会出大事
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
}
}
2.用BufferedReader
package com.file;
import java.io.*;
import java.nio.CharBuffer;
public class FtTestthread {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//char[] s=new char[1024];
String s2="";
InputStreamReader r=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(r);
System.out.println("输入:");
try {
//r.read(s);
s2+=br.readLine();
//和第一种做了对比,对比差异被我放进了注释,BufferedReader可以按行读取,一行一行读,所以出来的直接可以用
System.out.println("输出"+s2);
//String承接
//System.out.prinln(s);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{try {
r.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
}
}
3.用Scanner类
package com.file;
import java.util.*; //util包有很多好用的,集合框架都包含在里面
public class Testtwo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);
String s=null;
System.out.println("输入:");
s=scan.nextLine();
scan.close(); //scan的用法比较简单,不多赘述了
System.out.println("输出为:"+s);
}
}
4.如何把字符串转换成其他形式呢
package com.file;
import java.util.*;
public class Testtwo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="123";
int b=Integer.parseInt(s);
s="23.4";
float c=Float.parseFloat(s);
System.out.println("int型:"+b);
System.out.println("浮点型"+c);
}
//就这样、转long就是 Long.parseLong(s)
嘻嘻~~~~~~~~~
相关文章推荐
- Java之类的封装
- Struts2系列:(5)与Servlet API解耦(Servlet相关对象访问)
- Java面向对象
- 继承与组合的区别
- 日常小结-内省、beanutils
- struts2 简单数据验证
- Spring入门第1天--IOC快速入门
- Eclipse WEB项目更改项目名
- 用CXF编写基于spring的web service 并添加cxf日志拦截器和自定义拦截器
- Java反射机制调用private类型的构造方法
- RxJava学习笔记---简单使用
- JAVA中静态代理和动态代理
- java 值传递 数组传递
- C3P0配置
- Spring中bean的作用域
- 字节转为16进制输出
- SpringMVC 直接返回字符串时,中文乱码出现问号(?)的问题
- Git在eclipse中的配置详细记录
- eclipse 配置maven插件(在线+离线)
- Leet Code 41 First Missing Positive - Java