Scanner对象

通过Scanner类来获取用户的输入。

使用需导入 java.util.Scanner 包。

基本语法:

Scanner s = new Scanner(System.in);

next()

package Scanner;

import java.util.Scanner;//导入包

public class Demon1 {

public static void main(String[] args) {

//变量类型 变量名 创建一个扫描器对象↓

Scanner scanner = new Scanner(System.in);

System.out.println("使用next方法接收");

//判断语句 判断是否有输入↓

if(scanner.hasNext()){

//当↑为真,则有输入,使用scanner.next()赋值给str

String str = scanner.next();

System.out.println("输入内容为:"+ str);

//输出用户输入值

}

scanner.close();//关闭scanner

}

}

读取到有效字符后才可以结束输入

对有效字符前的空白,会自动删除

只有输入有效字符后才能将后面输入的空白作为分隔或结束符

next()不能得到带有空格的字符串。

nextLine()

package Scanner;

import java.util.Scanner;

public class Demon2 {

public static void main(String[] args) {

//变量类型 变量名 创建一个扫描器对象↓

Scanner scanner = new Scanner(System.in);

System.out.println("使用nextLine方法接收");

//判断语句 判断是否有输入↓

if(scanner.hasNextLine()){

//当↑为真,则有输入,使用scanner.next()赋值给str

String str = scanner.nextLine();

System.out.println("输入内容为:"+ str);

//输出用户输入值

}

scanner.close();//关闭scanner

}

}

以Enter为结束符,即返回回车之前的所有字符(包括空格)

nextLine()可以获得空格

故平时多使用nextLine()

上面两个程序,删除if判断语句依然能够使用。程序会在

String str = scanner.nextLine();

等待用户输入。

Scanner scanner = new Scanner(System.in);//创建scanner

String str = scanner.nextLine();//获得输入值

scanner.close();//关闭scanner

以上三步可以说是固定形式

Scanner的进阶用法

nextInt() nextFloat() .....

package Scanner;

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

import java.sql.SQLOutput;

import java.util.Scanner;

public class Demon3 {

public static void main(String[] args) {

int i =0;
float f = 0.0f; Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数");
if(scanner.hasNextInt())//判断是否有整数输入
{
i = scanner.nextInt();
System.out.println("你输入的数字为:"+ i);
}
else {
System.out.println("你tm输入的不是整数");
}
scanner.close();

}

}

判断是否为小数同理。

求平均值的程序

在用户输入非数字后计算出平均值。

import java.sql.SQLOutput;

import java.util.Scanner;

public class Demon4 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

    int x =0;//数字个数
double sum = 0.0;//数字和
double u = 0.0;//新输入数字
System.out.println("请输入数字");
while (scanner.hasNextDouble()){
System.out.println("请继续输入数字...");
u = scanner.nextDouble();//获得输入数字
sum = sum + u;//计算合
x++; //统计输入了几个数字 }
System.out.println(x+"个数的总和为:"+sum);
System.out.println(x+"个数的平均值为:"+(sum/x));
scanner.close();
}

}

Scanner对象的更多相关文章

  1. Java基础之一组有用的类——使用Scanner对象(TryScanner)

    控制台程序. java.util.Scanner类定义的对象使用正则表达式来扫描来自各种源的字符输入,并把输入显示为各种基本类型的一系列标记或者显示为字符串. 默认情况下,Scanner对象读取标记时 ...

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

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

  3. Day004 Scanner对象

    Scanner对象 作用 ​ 我们可以通过Scanner类来获取用户的输入 所属包 ​ java.util.Scanner java 工具类下 基本语法 Scannner s=new Scanner( ...

  4. Day5 Scanner对象学习.

    Scanner对象 Java.until.Scanner 我们可以通过Scanner类来获取用户的输入. 基本语法: Scanner s = new Scanner (System . in) ; 通 ...

  5. Java基础之(七):Scanner对象

    用户交互Scanner Scanner对象 调用java.util.Scanner 可以通过Scanner类来获取用户的输入 基本语法: Scanner scanner = new Scanner(S ...

  6. scanner对象,顺序及选择结构

    scanner对象 基本语法: Scanner s = new Scanner(System.in) 使用next()和nextLine()读取前,使用hasNext()和hasNextLine()来 ...

  7. Java常用API(Scanner,Random)匿名对象

    API:即Application programming Interface,应用编程接口. Java中封装了许许多多的API供用户使用,Scanner与Random便是其中之一,API实际就是类,已 ...

  8. java 中的Scanner

    java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎 ...

  9. BufferedReader与Scanner的区别

    在Java中,我们都知道Java的标准输入串是System.in.但是我们却很少在Java中看到谁使用它,这是因为我们平时输入的都是一个字符串或者是一个数字等等.而System.in提供的read方法 ...

随机推荐

  1. map的自动扩容与手动缩容

    map的自动扩容与手动缩容 首先还是提出问题:扩容和缩容有什么用?为什么需要扩容和缩容? 在想解答这个问题之前,首先还是需要了解一下go语言中的map go语言中的map与Java中的map实现还是有 ...

  2. ng2 父子组件传值 - 状态管理

    一. 父子组件之间进行直接通话 //父组件html <ul> <app-li [value] = "value" (liClick) = "liClic ...

  3. .NET Standard 类库的使用技巧

    系列目录     [已更新最新开发文章,点击查看详细] 在前一篇博客<.NET Standard中配置TargetFrameworks输出多版本类库>中详细介绍了如何创建.配置.条件编译. ...

  4. 有感于“U盘型人才”

    先转载一篇互联网上转载比较多的一篇文章,文章是一名职业规划师写的:        上一阶段欠的债,下一阶段总要还,剩男剩女的家里比较着急也是这个道理,该结婚的时候不结婚,生涯任务没完成,必将影响下一段 ...

  5. day50 Pyhton 前端01

    文档结构: <!-- 定义文档类型 --> <!DOCTYPE html> <!-- 文档 --> <html lang='en'> <!-- 仅 ...

  6. redis6安装 centos系统

    Redis6 安装   在centos7.5服务器上按照官方发布的安装方式并不能进行正确的安装,现收集并整理如下安装方式,亲测有效 1.安装依赖 yum install -y cpp binutils ...

  7. spring boot:shardingsphere多数据源,支持未分表的数据源(shardingjdbc 4.1.1)

    一,为什么要给shardingsphere配置多数据源? 1,shardingjdbc默认接管了所有的数据源, 如果我们有多个非分表的库时,则最多只能设置一个为默认数据库, 其他的非分表数据库不能访问 ...

  8. centos8上安装mysql8

    一,下载并解压mysql8 1,mysql官网 https://www.mysql.com/ 2,下载到source目录 [root@yjweb source]# wget https://cdn.m ...

  9. win10开机启动文件夹

    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

  10. spring与struts2整合出现错误HTTP Status 500 - Unable to instantiate Action

    在进行spring和struts2整合的时候因为大意遇到了一个问题,费了半天神终于找到了问题所在,故分享出来望广大博友引以为戒!! 我们都知道在spring和struts2整合时,spring接管了a ...