首页 > 代码库 > 通过Scanner从控制台获取数据

通过Scanner从控制台获取数据

----------siwuxie095

   

   

   

   

   

Scanner类用于扫描从控制台输入的数据,可以接收字符串和基本数据类型的数据

   

Scanner类位于 java.util.Scanner 包中

   

   

   

   

Scanner类的常用方法:

   

(1)String next();

作用:接收控制台输入的一个字符串「以空格或回车作为一次数据

输入的结束,因此 next() 方法不能把空格作为字符串接收

   

2String nextLine();

作用:接收控制台输入的一个字符串「以回车作为一次数据输入

的结束,因此 nextLine() 方法可以接收空格作为字符串的一部分」

   

(3)int nexInt();

作用:接收控制台输入的一个int类型的数据

   

(4)double nextDouble();

作用:接收控制台输入的一个double类型的数据

   

(5)boolean nextBoolean();

作用:接收控制台输入的一个boolean类型的数据

   

6)输入char类型的数据

Scanner类没有提供直接输入char类型的方法,可以通过 charAt()

方法从 next() nextLine() 获取输入的字符「取巧之处:用 next()

nextLine() 获取控制台输入的字符串后,调用 String类中的charAt()

方法:从字符串中取出一个字符,At 即该字符在字符串中的位置,直接

调用 next().charAt() 即可」

   

char String.charAt(int index);

作用:从字符串中获取指定下标的字符,下标从 0 开始

   

   

   

   

通过Scanner从控制台接收数据的步骤:

   

1)创建Scanner类的一个对象

   

如:Scanner scanner=new Scanner(System.in);

System.in 参数用来指定 Scanner 接收控制台输入的数据〕

   

注意:用Scanner类型声明的引用变量 scanner 位于栈空间,

new出来的对象在堆空间,因此 scanner 中存放的是堆空间中

该对象的地址

   

   

2)通过 scanner 调用next()等方法,接收控制台输入的数据

   

如:System.out.println("姓名:");

String name=scanner.next();

   

   

   

如:

   

技术分享

   

代码:

   

package com.siwuxie095.test;

   

import java.util.Scanner;

   

public class Test15 {

   

public static void main(String[] args) {

Scanner scanner=new Scanner(System.in);

System.out.println("姓名:");

String name=scanner.next();

System.out.println("性别:");

char sex=scanner.next().charAt(0);

System.out.println("年龄:");

int age=scanner.nextInt();

System.out.println("身高:");

double height=scanner.nextDouble();

System.out.println("性格:");

String type=scanner.next();

System.out.println("嗨,大家好,我叫"+name+",身高"+height+"米,今年"+age+"岁,我是一个"+type+sex+"");

}

   

}

   

   

Eclipse中:

   

技术分享

   

   

运行一览:

〔建议:当输入中文时,和Eclipse有一定的冲突,尽量避免直接

在控制台输入中文,可以在其他地方写上后,复制粘贴〕

   

技术分享

   

   

   

   

【made by siwuxie095】

  

通过Scanner从控制台获取数据