通过Scanner从控制台获取数据
Posted siwuxie095
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过Scanner从控制台获取数据相关的知识,希望对你有一定的参考价值。
----------siwuxie095
Scanner类用于扫描从控制台输入的数据,可以接收字符串和基本数据类型的数据
Scanner类位于 java.util.Scanner 包中
Scanner类的常用方法:
(1)String next();
作用:接收控制台输入的一个字符串「以空格或回车作为一次数据
输入的结束,因此 next() 方法不能把空格作为字符串接收」
(2)String 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从控制台获取数据的主要内容,如果未能解决你的问题,请参考以下文章