使用扫描仪
必须部署软件包import java.util.Scanner才能使用; 首先定义Scanner对象
sannersc=newscanner(system.in;
如果输入整数,请输入int n=sc.nextInt (;
对于字符串类型,String temp=sc.next (;
例如:
importjava.util.Scanner; 公共类测试{ publicstaticvoidmain (字符串[ ] args ) }
sanner scanner=new scanner (system.in; int [ ] days={ 31、28、31、30、31、30、31、30、31、30、30、30、30、31 }; intmonth=-1; while (真) {try{
请输入System.out.print ('月:
month=scanner.nextInt (; if(month=1month=12 ) {break;
}
请输入system.out.println('**正确的月份** ';
}catch(exceptione ) {
system.out.println('**格式错误! 请输入数字** ';
scanner.next (;
}
}
system.out.println(Month '月有: ' days[month-1] '日');
}
}
使用缓冲读取程序
使用前需要导入import java.io.Reader;
bufferedreaderbr=newbufferedreader (newinputstreamreader ) system.in );
String input=br.readLine (;
例如:
=====================================
import java.io.*;
公共类导入文本{
publicstaticvoidmain (字符串[ ] args ) {
String st;
int num;
浮点数值;
try{
System.out.print ('输入: ';
bufferedreaderbr=newbufferedreader (newinputstreamreader ) system.in );
st=br.readLine (;
System.out.print ('输入数字:');
num=integer.parseint (br.readline ();
System.out.print ('输入浮点数:');
fum=float.parsefloat (br.readline ) );
System.out.print ('输出: ' st 'n ' );
System.out.print ('输出: ' num 'n ' );
System.out.print ('输出: ' fnum 'n ' );
}catch(ioexceptione ) }
}
}
=====================================
package com.s2;
import java.io.*;
公共类输入
{
publicstaticvoidmain (字符串[ ] args ) throws IOException
{
是wile (真)
{
缓冲区;
字符串str;
buf=newbufferedreader (newinputstreamreader ) system.in );
system.out.println (输入a string : );
str=buf.readLine (;
system.out.println(string='str );
}
}
}
=====================================
需要注意的是,Java将从键盘输入的数据一律视为字符串,因此要使系统承认通过键盘输入是数值型数据,需要进行转换。
例如:
package com.s2;
import java.io.*;
公共类输入
{
publicstaticvoidmain (字符串[ ] args ) throws IOException
{
是wile (真)
{
int num;
缓冲区;
字符串str;
buf=newbufferedreader (newinputstreamreader ) system.in );
system.out.println (inputaninteger : );
str=buf.readLine (;
num=integer.parseint(str;
system.out.println(string='str );
system.out.println (' integer=' str );
}
}
}