Java从键盘输入的常用方法.doc_第1页
Java从键盘输入的常用方法.doc_第2页
Java从键盘输入的常用方法.doc_第3页
Java从键盘输入的常用方法.doc_第4页
Java从键盘输入的常用方法.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

方法1.Scanner scanner=new Scanner(System.in); 方法2.BufferedReader reader=new BufferedReader(new InputStreamReader(System.in); 方法3.byte buffer = new bytelen;trySystem.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类中的方法接收。 但我们一般不用这个, 这个已经是很久以前的玩意如果你只是做控制台应用程序的话 建议用Scannerimport 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人阅读 评论(0) 收藏 举报 在Java中不像C语言中那么方便直接使用scanf(),下面是我积累的一些方法:1.控制台输入数据 1.1 主方法的形式参数 1.2 利用字节输入流 1.3 利用字符输入流 1.4 利用文本扫描类2. 对话框输入数据下面将针对这几种方法分别利用例子进行说明:1. 控制台输入数据 1.1 主方法的形式参数 在Java中利用main(String args)中的args数组来对参数进行赋值,有下例:package InputTest;public class DataKeyboardInput1 /*主方法的形式参数来输入数据 * DataKeyboardInput1.java * param args */public static void main(String args) / TODO Auto-generated method stub System.out.println(args0);在命令行下输入javac DataKeyboardInput1.java -java DataKeyboardInput1 HelloWorld 输出就是 HelloWorld 了 1.2 利用字节输入流 字节输入流System.in 是类InputStream的常量对象,调用read()方法可以从键盘接收数据。实现的步骤是:先把数据读入字节数组中,然后利用字节数组定义字符串,最后把字符串转化为需要的数据类型。 package InputTest;import java.io.*;public class DataKeyboardInput2 /*利用字节输入流来输入数据 * DataKeyboardInput2.java * param args */public static void main(String args) / TODO Auto-generated method stub byte buf=new byte10; /字节数组,输入为10个 String str; int num = 0; try /把数据读入到字节数组中 System.in.read(buf); /利用字节数组创建字符串 str=new String(buf,0); /把字符串数据转换为整型数据 num=Integer.parseInt(str.trim(); catch(Exception e) System.out.print(e); System.out.println(num);1.3 利用字符输入流 字符输入流BufferedReader是从字符输入流中读取文本,缓冲各个字符,从而提供字符,数组和行的高效读取。常用方法: read(): 读取单个字符; readLine():读取一行字符,即为读取一个字符串package InputTest;import java.io.*;public class DataKeyboardInput3 /*利用字符输入流来进行输入处理 * param args */public static void main(String args) throws IOException / TODO Auto-generated method stub BufferedReader br=new BufferedReader(new InputStreamReader(System.in); String str=; int num = 0; try str=br.readLine(); num=Integer.parseInt(str); catch(IOException e) System.out.println(e.toString(); System.out.println(num);1.4 利用文本扫描类 文本扫描类Scanner是jdk5.0新增加的类,它是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器,它使用分隔符模式将其输入分解为标记默认情况下该分隔符模式与空白匹配,然后使用不同的next方法将得到的标记转换为不同类型值。获取基本类型数据的方法是: 整型:nextInt() 单精度:nextFloat() 双精度: nextDouble() 字符串: next()package InputTest;import java.util.Scanner;public class DataKeyboardInput4 /*利用文本扫描类来进行输入处理 * param args */public static void main(String args) / TODO Auto-generated method stub Scanner input=new Scanner(System.in); int num=input.nextInt(); System.out.println(num);2. 对话框输入数据 使用JOptionPane创建输入对话框,实现键盘输入 showConfirmDialog(): 询问一个确认问题,如yes/no/cancer showInputDialog(): 提示要求某些输入 showMessageDialog(): 告知用户某事已经发生 其中,输入对话框的常用参数形式有: showInputDialog(Object message) : message 表提示信息 showInputDialog(Object message,Object initialSelectionValue): 如果没有输入数据,则默认初始值为initalSlectionValuepackage InputTest;import javax.swing.JOptionPane;public class DataIn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论