Java程序设计Java程序的基本输入输出标准输入输出Scanner输入对话框输入输出Java程序设计Java语言将输入输出功能封装在若干个标准类中,这样既符合面向对象的设计思想,又便于用户的掌握,并为未来的扩展提供了足够的空间。输入输出是应用程序与用户交互的主要途径,在Java程序中,可以在字符界面和图形用户界面方式下实现输入输出功能。Java程序设计一、Java标准输入输出Java.lang.System类提供了3种有用的标准流System.inSystem.outSystem.err1.标准输入流System.in用于程序的输入,常用于记取用户从键盘的输入或用户定义的输入设备的输入。常用的方法有:intread():返回一个字节数据intread(byte[]a):返回一组字节数据,并保存于字节数据a中。Intread(byte[]a,intoff,intlen):将输入流中最多len个数据字节读入byte数组Java程序设计2.标准输出流System.out用于程序的输出,通常用来在屏幕或用户指定的输出设备上显示信息。常用的方法有:System.out.print(data):输出data到指定的设备,不换行。System.out.println(data):输出data到指定的设备并换行。3.标准出错流System.err用于显示出错信息,常用方法同System.out。Java程序设计例:importjava.io.IOException;publicclassKeyin{staticintby;publicstaticvoidmain(Stringargs[])throwsIOException{inty;System.out.print(请输入一个字节数据:);try{by=System.in.read();System.out.println(输入的第一个字节数据是:+by);System.out.println(对应的字符是:+(char)by);}catch(IOExceptione){}}}Java程序设计二、输入基本型数据Java程序设计在JDK5.0版本之前,实现字符界面的输入操作也不是一件容易的事情。由于Java本身没有直接提供通过键盘完成输入各种数据类型数据的简便接口,所以需要用户利用若干个标准类自行编写能够解析各种数据类型数据的程序代码,这给初学Java的人们带来了不少困难。在JDK5.0版本中,Java增加了一个专门用于处理数据输入的Scanner类,用户利用它可以方便地实现各种数据类型的数据输入。Java程序设计1.Scanner的构造方法在包java.util.Scanner中构造方法1.Scanner(Filesource)构造一个新的Scanner,数据源是指定的文件。2.Scanner(InputStreamsource)构造一个新的Scanner,数据源是从指定输入流。3.Scanner(Stringsource)构造一个新的Scanner,数据源是指定字符串。例:Scannerinput=newScanner(System.in);创建从键盘输入数据的Scanner对象。Java程序设计2.常用方法java.util.Scanner类中的几个用于读取数据的成员方法方法描述StringnextLine()读取输入的下一行内容Stringnext()读取输入的下一个单词intnextInt()读取下一个表示整数的字符序列,并将其转换成int型longnextLone()读取下一个表示整数的字符序列,并将其转换成long型floatnextFloat()读取下一个表示整数的字符序列,并将其转换成float型doublenextDouble()读取下一个表示浮点数的字符序列,并将其转换成double型booleanhasNext()检测是否还有输入内容booleanhasNextInt()booleanhasNextLong()检测是否还有表示整数的字符序列booleanhasNextFloat()booleanhasNextDouble()检测是否还有表示浮点数的字符序列Java程序设计例:importjava.util.*;publicclassAddressClass{publicstaticvoidmain(String[]arg){Scannerin=newScanner(System.in);//创建Scanner类对象System.out.printf(Enteryourname:);Stringname=in.nextLine();//输入姓名System.out.printf(Enteryourtelephonenumber:);Stringtel=in.nextLine();//输入电话号码System.out.printf(Enteryouraddress:);Stringaddress=in.nextLine();//输入通信地址System.out.printf(Enteryourpostnumber:);Stringpost=in.nextLine();//输入邮政编码System.out.println(Name:+name);System.out.println(Tel:+tel);System.out.println(Addr:+address);System.out.println(post:+post);}}Java程序设计例:从键盘输入一个不大于12的整数,计算其阶乘并输出结果。importjava.util.Scanner;publicclassscanerfact{publicstaticvoidmain(Stringargs[]){intn;Scannerin=newScanner(System.in);System.out.print(请输入一个不大于12的整数:);n=in.nextInt();if(n12){System.out.println(输入的整数超出范围!);System.exit(0);}System.out.println(数+n+的阶乘是+fact(n));}staticlongfact(intn){longt=1;for(inti=1;i=n;i++)t=t*i;returnt;}}Java程序设计举例:输入某个三角形的3个边长,计算它的面积。为简单起见,假设输入的3个边长可以构成三角形,并且已知求三角形面积的公式为:其中,s=(a+b+c)/2()()()areassasbscJava程序设计//filename:TriangleClass.javaimportjava.util.*;publicclassTriangleClass{publicstaticvoidmain(String[]args){doublea,b,c,s,area;Scannerin=newScanner(System.in);System.out.printf(Enter3edges:);a=in.nextDouble();b=in.nextDouble();c=in.nextDouble();s=(a+b+c)/2;area=Math.sqrt(s*(s-a)*(s-b)*(s-c));System.out.printf(a=%7.2f,b=%7.2f,c=%7.2f\n,a,b,c);System.out.printf(area=%10.2f\n,area);}}Java程序设计Java程序设计三、使用GUI界面输入输出利用javax.swing包中JOptionPane类所提供的方法构造各种简单的对话框可以进行了数据的输入输出。JOptionPane可以建立3种类型的对话框:Message对话框Confirm对话框input对话框JOptionPane类中的方法Java程序设计1.showInputDialog方法输入对话框,用来接受文本输入并用字符串存储格式:1)publicstaticStringshowInputDialog(Objectmessage)throwsHeadlessException功能:显示请求用户输入的问题消息对话框。该对话框使用默认的边框,通常意味着在屏幕上居中显示。2)publicstaticStringshowInputDialog(Objectmessage,ObjectinitialSelectionValue)功能:显示请求用户输入的问题消息对话框,它带有已初始化为initialSelectionValue的输入值。该对话框使用默认的窗体,通常意味着在屏幕上居中显示。Java程序设计3)publicstaticStringshowInputDialog(ComponentparentComponent,Objectmessage)throwsHeadlessException功能:显示请求用户输入内容的问题消息对话框,它以parentComponent为父级。该对话框显示于Component的窗体的上部,通常位于Component之下。4)publicstaticStringshowInputDialog(ComponentparentComponent,Objectmessage,ObjectinitialSelectionValue)功能:显示请求用户输入内容的问题消息对话框,它以parentComponent为父级。输入值将被初始化为initialSelectionValue。该对话框显示于Component的窗体的上部,通常位于Component之下。5)publicstaticStringshowInputDialog(ComponentparentComponent,Objectmessage,Stringtitle,intmessageType)throwsHeadlessException功能:显示请求用户输入内容的对话框,它以parentComponent为父级,该对话框的标题为title,消息类型为messageType。Java程序设计参数:parentComponent-对话框的父Componentmessage-要显示的Objecttitle-要在对话框的标题栏中显示的StringmessageType-要显示的消息类型:ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGEPLAIN_MESSAGEJava程序设计2.showMessageDialog方法消息对话框,用来显示消息publicstaticvoidshowMessageDialog(ComponentparentComponent,Objectmessage,Stringtitle,intmessageType)throwsHeadlessException功能:调出对话框,它显示使用由messageType参数确定的默认图标的message。参数:parentComponent-确定在其中显示对话框的Frame;如果为null或者parentComponent不具有Frame,则使用默认的Framemessage-要显示的Objecttitle-对话框的标题字符串messageType-要显示的消息类型:ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE或PLAIN_MESSAGEJava程序设计3.showConfirmDialog方法确认对话框,询问问题,带有Yes、No和Cancel按钮1)publicstaticintshowConfirmDialog(ComponentparentComponent,Objectmess