加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

 Java Scanner的用法/scanner是什么意思/怎么用Scanner输入

(2012-10-26 14:18:05)
标签:

杂谈

分类: 代码人生

Java Scanner的用法/scanner是什么意思/怎么用Scanner输入

学习程序语言的最好方法是尽早地写代码,为了增加程序的趣味性,我们希望我们的写的玩具程序能够有输入输出.Java中的输出有标准的输出流System.out,那么输入怎么实现呢?当然现代的程序都使用GUI收集用户的输入,编写这种界面的程序需要使用较多的工具与技术,其实Java的API里有简单的输入方法,而且有控制台就可以实现.我们的主角就是:Scanner

要想通过控制台进行输入,首先要构造一个Scanner对象,它附属于"标准输入流"System.in
Scanner in = new Scanner(System.in);

现在我们就可以使用Scanner类的各种方法了,eg:
System.out.println("What's your name?");
String name = in.nextLine();
在这里使用nextLine方法的主要原因是输入行中可能包含空格.如果读取的是一个单词,则可调用
String firstName = in.next();

类似的,输入浮点数可用nextDouble方法

看我们的简单程序实现:

import java.util.*;//Scanner位于util包
public class HelloFriend
{
   String name;
   int age;
   HelloFriend()
   {
    Scanner in = new Scanner(System.in);
     //输入字符
    System.out.println("What's your name?");
     name = in.nextLine();
     //输入整形数据
     System.out.println("How old are U?");
     age = in.nextInt();

   
   void display()
   {
     System.out.println("Hello, "+name+". Next year U'll be "+(age+1));
   }
}

public class InputTest
{
   public static void main(String[] args)
   {
     HelloFriend aFriend = new HelloFriend();
     aFriend.display();
   }
}

特别注意的是JDK5.0以前的版本不能这样处理,这多少有些令人沮丧,还好我们用swing包里的方法也不难实现,只需把构造函数里的内容改为如下即可:

     this.name = JOptionPane.showInputDialog("Name?");
     String input = JOptionPane.showInputDialog("AGE?");
     this.age = Integer.parseInt(input);
    
当然,别忘了导入swing包:
     import javax.swing.*;

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有