- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
方法1.Scanner scanner=new Scanner(System.in); ?方法2.BufferedReader reader=new BufferedReader(new InputStreamReader(System.in)); ? ?方法3.byte[] buffer = new byte[len];try{System.in.read(buffer,0,len);}catch(Exception e){}String str = new String(buffer);
一 InputStreamReader流
String str;InputStreamReader ir;
boolean first = true;
?? int c;???? System.out.println(input the String:);???? try{?????? while((c = ir.read()) != \r ){???????? if(first){?????????? System.out.print(get string:);?????????? first = false;????????? }else{?????????? System.out.print(.);????????? }???????? str = str+(char)c;???????? System.out.print((char)c +(+c+));??????? }
这个方法比较笨拙并且适合输入一次字符串的情况,如果需要多次输入字符串那将会出现问题,这个问题很隐晦,在你第二次输入字符串以后包括第二次输入的字符串都会得到一个\t字符在字符串的开始,这个问题处理很棘手的,并且如果不注意就发现不了,如果在以后的字符串的操作中有字符串转换那将更麻烦,测试输入字符串的长度会发现长度是你输入的长度+1,很KB(恐怖)的。
这个方法是教科书上的例子,就不说是哪个版本了,害的我很苦啊!
二 BufferReader流
BufferedReader?? buffer=new?? BufferedReader(new?? InputStreamReader(System.in));?? ?? ?? String??? str=buffer.readLine();
这个方法很方便,又能让你想输入几次输入几次,不会出现上面那个问题。因为每次都会创建一个新的输入流,因此每次输入的不会相互影响。
比较这两种方法主要是为了区分在不同的情况下使用不同的方法,不一定方法一没有用,当你需要的不是字符串而是字符时,方法一会更方便。
一楼已经提供了InputStreamReader类中的方法接收。 但我们一般不用这个, 这个已经是很久以前的玩意
?
如果你只是做控制台应用程序的话? 建议用Scanner
?
import java.util.Scanner;??
public class Test{? public static void main(String[] args){???? Scanner input = new Scanner(System.in); // System.in 是必要的参数? 它将传递你系统的输入“流”
?????System.out.print(请输入一个数字);
???? int m = input.nextInt();? // 接收int类型
???? System.out.print(请输入你的名字:);
???? String name = input.next(); // 接收一个String类型
?????System.out.print(请输入您的身高:);
???? double d = input.nextDouble();? // 以此类推
?? // 更详细 请参见 JDK 帮助文档(API) Java - util 包中的 Scanner类!
? }
}
1楼说的那两种方法本质上是一样的,都是用InputStreamReader来把标准输入流System.in转换成字符流,用BufferedReader只不过是把InputStreamReader包装成了有缓冲的输入流,性能比直接用InputStreamReader好。
2楼说的方法是一种比较好的替代方法,是Sun为了简化读取键盘操作而提供的新的API,但是你使用的JDK必须是1.5及以上版本。对于一些老的程序,需要兼容jdk 1.4的话,就不能用这种方法了,只能用1楼的方法
在Java中使用键盘输入数据【总结篇】
分类: Java 2010-06-07 17:26 139人
您可能关注的文档
- iPhone4的67条使用小经验.docx
- iPhone5未出世先被山寨.docx
- iPhoneiOS4系统介绍.docx
- iphone上好玩的游戏.docx
- iPhone内地行货热销关注4只触摸屏概念股.doc
- iPhone基础知识权限说明文件存放路径.doc
- iPhone常见故障之iPhone连接电脑时发生包含“0xE”未知错误.docx
- iphone手机内部指令.doc
- Iphone手机铃声制作设置方法.docx
- iphone省电密招、省电误区、省电设置大搜罗.doc
- 2024至2030年中国人造棉面料行业投资前景及策略咨询报告.docx
- 重庆市渝中区遴选公务员2024年国家公务员考试考试大纲历年真题10340笔试历年典型考题及解题思路附.docx
- 2024至2030年中国甲基苯乙酮行业深度调研及发展预测报告.docx
- 2024至2030年中国羚羊角类饮片行业深度调查与前景预测分析报告.docx
- 重庆市面向中国农业大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题14笔试历.docx
- 重庆市面向西北工业大学定向选调2024届大学毕业生00笔试历年典型考题及解题思路附答案详解.docx
- 中国不动杆菌感染治疗药行业市场现状分析及竞争格局与投资发展研究报告2024-2029版.docx
- 2024至2030年全球与中国ETL软件市场现状及未来发展趋势.docx
- 初中八年级(初二)生物下册期末考试1含答案解析.docx
- 干簧式继电器项目申请报告.docx
文档评论(0)