----------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从控制台获取数据的更多相关文章

  1. Scanner对象及其获取数据出现小问题和解决方案

    Scanner类简介: Java 5添加了java.util.Scanner类,我们可以通过Scanner类来获取用户输入.它是以前的StringTokenizer和Matcher类之间的某种结合.由 ...

  2. 利用location.hash+iframe跨域获取数据详解

    前言 如果看懂了前文利用window.name+iframe跨域获取数据,那么此文也就很好理解了.一样都是动态插入一个iframe,然后把iframe的src指向服务端地址,而服务端同样都是输出一段j ...

  3. 通过args数组获取数据

    ----------siwuxie095                     通过 main 方法的 args数组 可以从控制台获取一组字符串数据     如:     package com.s ...

  4. Java通过 Scanner 类来获取用户的输入

    通过 Scanner 类来获取用户的输入. import java.util.Scanner; Scanner s = new Scanner(System.in);// 从键盘接收数据  Syste ...

  5. 08-Flutter移动电商实战-dio基础_伪造请求头获取数据

    在很多时候,后端为了安全都会有一些请求头的限制,只有请求头对了,才能正确返回数据.这虽然限制了一些人恶意请求数据,但是对于我们聪明的程序员来说,就是形同虚设.这篇文章就以极客时间 为例,讲一下通过伪造 ...

  6. Flutter dio伪造请求头获取数据

    在很多时候,后端为了安全都会有一些请求头的限制,只有请求头对了,才能正确返回数据.这虽然限制了一些人恶意请求数据,但是对于我们聪明的程序员来说,就是形同虚设.下面就以极客时间为例,讲一下通过伪造请求头 ...

  7. Flutter移动电商实战 --(8)dio基础_伪造请求头获取数据

    在很多时候,后端为了安全都会有一些请求头的限制,只有请求头对了,才能正确返回数据.这虽然限制了一些人恶意请求数据,但是对于我们聪明的程序员来说,就是形同虚设.这篇文章就以极客时间 为例,讲一下通过伪造 ...

  8. datatables异步获取数据、简单实用

    IKC项目总结 一.认证难题管理模块 1. 如何使用datatables进行获取数据内容 datatables简介:Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何H ...

  9. 在ASP.NET Core中用HttpClient(一)——获取数据和内容

    在本文中,我们将学习如何在ASP.NET Core中集成和使用HttpClient.在学习不同HttpClient功能的同时使用Web API的资源.如何从Web API获取数据,以及如何直接使用Ht ...

随机推荐

  1. JS实现动态提示框

    引言 什么项目都有个需求,应开发需求,需要写一个公式编辑器选择公式的插件,下面给大家讲一下实现过程.(擦汗,强作淡定,咳,开嗓~) 看图说话 本小菜开发功能前乐于先写个需求思维导图(纯属个人爱好): ...

  2. 服务器用 git 进行部署出现代码冲突的处理

    服务器用 git 进行部署出现代码冲突的处理 起因: 由于项目是之前很久之前上传的,且并没上线.使用 git pull 进行代码更新时出现很多冲突. 因为服务器上的代码有移动过位置,不知道为什么就冲突 ...

  3. bzoj2442[Usaco2011 Open]修剪草坪——单调队列优化

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2442 考虑记录前 i 个.末尾 j 个连续选上的最大值.发现时空会爆. 又发现大量的转移形如 ...

  4. linux命令之awk

    简介 awk命令的名称是取自三位创始人Alfred Aho .Peter Weinberger 和 Brian Kernighan姓名的首字母,awk有自己的程序设计语言,设计简短的程序,读入文件,数 ...

  5. CSS 属性单词

    .container {padding:0px; height:90%; width:100%; margin:0;}#header {height:0px; width:100%; padding: ...

  6. MUI 支付宝支付接入

    沙箱测试地址:https://openhome.alipay.com/platform/appDaily.htm 1资源下载地址:https://docs.open.alipay.com/54/106 ...

  7. ping正常但是ssh到linux服务器很卡的解决方法

    ssh登录很慢的问题  1.关闭ssh DNS反向解析 vi /etc/ssh/sshd_config 修改UseDNS no 2.关闭 GSSAPI 的用户认证   vi /etc/ssh/sshd ...

  8. Linux系统启动流程与系统目录

    启动流程 # 1,开机BIOS自检 检查一系列的硬件,最后根据启动顺序启动,是硬盘还是光驱等 # 2,MBR引导 读硬盘0柱面0磁道1扇区的前446字节 1扇区=512字节 MBR=4446字节 四个 ...

  9. HDU5336题解

    解题思路 这题思路并不难,主要问题是,不太好编码实现(可能是本人练习不够吧),因为有个时间在里面,而且每个小水滴都同时流动,感觉好复杂的样子.比赛时,我首先想到的是DFS+时间流做参数,由于比赛时神经 ...

  10. read/write/fsync与fread/fwrite/fflush的关系和区别

    read/write/fsync: 1. linux底层操作: 2. 内核调用, 涉及到进程上下文的切换,即用户态到核心态的转换,这是个比较消耗性能的操作. fread/fwrite/fflush: ...