Chinaunix首页 | 论坛 | 博客
  • 博客访问: 392074
  • 博文数量: 95
  • 博客积分: 3020
  • 博客等级: 中校
  • 技术积分: 865
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-20 10:40
文章分类

全部博文(95)

文章存档

2011年(3)

2010年(8)

2009年(24)

2008年(60)

我的朋友

分类: Java

2008-12-13 15:00:02

使用Scanner取得输入:
 
在命令行模式下要输入数据至程序中时,可以使用标准输入串对象System.in。然而实际上很少直接使用它,因为System.in对象所提供的read()方法,是从输入串中取得一个字节的数据,并返回该字节的整数值,但通常您要取得的输入会是一个字符串,或是一组数字。所以,System.in对象的read()方法一次只读入一个字节数据的方式并不适用。
import java.util.Scanner;

public class ScannerDemo
{
  public static void main(String[] args)
{
    Scanner scanner = new Scanner(System.in);
    System.out.print("请输入您的名字:");
    System.out.printf("hello! %s!\n", scanner.next());   /* next()功能,来取得用户的输入字符串;使用Scanner工具的nextInt()功能取得数字;还可以使用nextFloat()、nextBoolean()等方法来取得用户的输入,并转换为正确的数据类型。 */
}
}
 
使用BufferedReader取得输入:
 
Scanner取得输入的依据是空格符,按下空格键、Tab键或是Enter键,Scanner就会返回下一个输入,所以有时并不适用。因为用户可能输入一个字符串,中间会包括空格符,而您希望取得完整的字符串。如果想要取得包括空格符的输入,比较简单的方法是使用java.io.BufferedReader类取得输入。
BufferedReader类是java.io包中所提供 一个类,所以使用这个类时必须使用import告诉编译器这个类位于java.io包下。
 
import java.io.*;  /*BufferedReader、InputStreamReader与IOException等类,都位于java.io包下,所以在程序的开头可以使用import与*号。*/

public class BufferedReaderDemo
{
  public static void main(String[] args) throws IOException
{
    BufferedReader bufferedReader=
                   new BufferedReader(
                     new InputStreamReader(System.in));  /* 增加一个BufferedReader工具,这个工具中还要加上一个InputStreamReader工具,而InputStreamReader工具中实际的核心是System.in工具。这3个工具组合在一起,就可以进行文字输入的读取。*/

    System.out.print("请输入一列文字,可包话空白:");
    String text = bufferedReader.readLine();  /* readLine()方法会近回用户在按下Enter键之前的所有字符输入,不包括最后按下的Enter返回字符。*/
    System.out.println("您输入的文字:"+text);
}
}
 
常用格式控制字符:
控制字符        作   用
\\             反斜线
\'             单引号'
\"             双引号"
\uxxxx         以十六进制数指定Unicode字符输出
\xxx           以八进制数指定Unicode字符输出
\b             倒退一个字符
\f             换页
\n             换行
\r             光标移至行首
\t             跳格(一个Tab键)
 
常用格式转换字符:
转换字符        作  用
%%             在字符串中显示%。
%d             以十进制整数方式输出,提供的数必须是Byte/Short/Integer/Long或BigInteger。
%f             将浮点数以十进制方式输出,提供的数必须是Float/Double或BigDecimal。
%e,%E          将浮点数以十进制方式输出,并使用科学记数法,提供的数必须是Float/Double或
               BigDecimal。
%a,%A          使用科学记数法输出浮点数,以十六进制输出整数部分,以十进制输出指数部分,提供的
               数必须是Float/Double或BigDecimal。
%o             以八进制整数方式输出,提供的数必须是Byte/Short/Integer/Long或BigInteger。
%x,%X          以十六进制整数方式输出,提供的数必须是Byte/Short/Integer/Long或
               BigInteger。
%s,%S          将字符串格式化输出。
%c,%C          以字符方式输出,提供的数必须是Byte/Short/Character或Integer。
%b,%B          将true或false输出。另外,非null值输出是true,null值输出是false。
%t,%T          输出日期/时间的前置。
 
 
阅读(2068) | 评论(0) | 转发(0) |
0

上一篇:编译JAVA程序

下一篇:自动装箱和拆箱

给主人留下些什么吧!~~