scanner 订阅
扫描器是一类自动检测本地或远程主机安全弱点的程序,它能够快速的准确的发现扫描目标存在的漏洞并提供给使用者扫描结果。工作原理是扫描器向目标计算机发送数据包,然后根据对方反馈的信息来判断对方的操作系统类型、开发端口、提供的服务等敏感信息。 展开全文
扫描器是一类自动检测本地或远程主机安全弱点的程序,它能够快速的准确的发现扫描目标存在的漏洞并提供给使用者扫描结果。工作原理是扫描器向目标计算机发送数据包,然后根据对方反馈的信息来判断对方的操作系统类型、开发端口、提供的服务等敏感信息。
信息
中文名
扫描器
外文名
scanner
分    类
系统漏洞扫描器
含    义
一类自动检测本地或远程的程序
用    途
能准确的发现扫描目标存在的漏洞
扫描器系统漏洞扫描
RetinaRetina是eEye公司(www.eeye.com)的产品,强大的网络漏洞检测技术可以有效的检测并修复各种安全隐患和漏洞,并且生成详细的安全检测报告,兼容各种主流操作系统、防火墙、路由器等各种网络设备。曾在国外的安全评估软件的评测中名列第一。Retina的主界面共分为三个部分,上部是菜单和工具栏,下部的左边是动态导航菜单,右边是与左边菜单相对应的内容显示窗口。
收起全文
精华内容
下载资源
问答
  • Scanner

    千次阅读 多人点赞 2019-07-08 14:24:38
    //Scanner类中的方法 //优点一: 可以获取键盘输入的字符串 //优点二: 有现成的获取int,float等类型数据,非常强大,也非常方便; public static void ScannerTest(){ Scanner sc = new Scanner(System.in); ...

    遇到的问题:

    public class Test {
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            
            String[] arr = new String[n];
            for (int i = 0; i < n; i++) {
                arr[i] =  sc.nextLine();
            }
    
            System.out.println(Arrays.toString(arr));
        }
    }
    

    先看这段代码,看上去很自然,n表示我们字符串数组的长度,for循环用于每个元素的输入,一般的同学们都会这样很自然地写。
    我们运行后,在控制台如此输入:
    3
    a
    b
    c
    你会发现,在输到b并按下回车时,还没等你输入c,控制台就输出结果了:
    [, a, b]
    这是为什么呢?
    从表面来看输出结果,猜想应该是数组的第0个元素被系统写入了一个空字符或者转义字符之类的。
    为了验证这个猜想我们在原来的程序中加一行代码:

    public class Test {
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            
            String[] arr = new String[n];
            for (int i = 0; i < n; i++) {
                arr[i] =  sc.nextLine();
            }
            System.out.println(arr[0]); // 输出首个元素看看
            System.out.println(Arrays.toString(arr));
        }
    }
    

    输入不变,输出为:

    [, a, b]

    我们可以看出,第一行有换行符,说明那个arr[0]其实就是\n。
    验证完了最后我们再去看看官方文档:
    nextInt(): it only reads the int value, nextInt() places the cursor in
    the same line after reading the input.(此方法只读取整型数值,并且在读取输入后把光标留在本行)

    next(): read the input only till the space. It can’t read two words
    separated by space. Also, next() places the cursor in the same line
    after reading the input.(读取输入直到遇见空格。此方法不能读取被空格分隔开的内容,并且在读取输入后把光标留在本行)

    nextLine(): reads input including space between the words (that is,
    it reads till the end of line \n). Once the input is read, nextLine()
    positions the cursor in the next line.(读取包括空格在内的输入,而且还会读取行尾的换行字符\n,读取完成后光标被放在下一行)

    如此一来,我们就非常清晰了,也就是说这个nextLine()方法如其名,会读取当前这一整行包括换行符。
    每一次读取过程是从光标位置开始的。所以,一开始那个程序当我们输入3并按下回车,由于nextInt()方法只读取数值而不会读取换行符,所以光标停在了3和\n之间,然后for循环中的第一次nextLine()方法把3后面的换行符\n读取掉了,并把光标弹到下一行,这个时候才开始读取你输入的a字符。最后,才造成了arr[0]的内容其实是一个换行符。
    所以我们为了正确地完成最初的输入,程序应该这样写:

    public class Test {
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            sc.nextLine(); // 读掉数值后面的换行符
            String[] arr = new String[n];
            for (int i = 0; i < n; i++) {
                arr[i] =  sc.nextLine();
            }
            
            System.out.println(Arrays.toString(arr));
        }
    }
    

    总结:
    1.next()方法(next()、nextInt()、nextFloat()等等,除nextLine()外)一定要读取到有效字符之后才可以结束输入,有效字符之前遇到的空格、Tab键或Enter键等结束符会自动将其去掉,有效字符之后遇到的Enter键才将其视为结束符,所以next()方法不能得到带空格的字符串。结束读取后,光标不移动到下一行!!!
    2.nextLine()方法,返回的是Enter键之前的所有字符,可以得到带空格的字符串。结束一行读取后,光标移到下一行!!!

    展开全文
  • scanner

    千次阅读 2013-08-03 18:34:31
    一:scanner 输入数据类,而且能够完成数据验证。 二:范例 范例1:从键盘接收 package haizhu.com.scanner; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; ...

    一:scanner

    输入数据类,而且能够完成数据验证。


    二:范例

    范例1:从键盘接收

    package haizhu.com.scanner;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Scanner;
    
    public class ScannerDemo01 {
    	public static void main(String[] args) throws Exception{
    		while(true){
    			Scanner scan = new Scanner(System.in);		// 从键盘接收数据
    			System.out.println("请输入数据:");
    			if(scan.hasNextInt()){
    				int i = scan.nextInt();
    				System.out.println("输入的整数为:"+i);
    			}else if(scan.hasNextFloat()){
    				float f = scan.nextFloat();
    				System.out.println("输入的小数为:"+f);
    			}else if(scan.hasNext("^\\d{4}-\\d{2}--\\d{2}$")){
    				String str = scan.next();
    				Date d = new SimpleDateFormat("yyyy-MM-dd").parse(str);
    				System.out.println("输入的时间是:"+d);
    			}
    		}
    	}
    }
    范例2:从文件读取

    package haizhu.com.scanner;
    
    import java.io.File;
    import java.util.Scanner;
    
    public class ScannerDemo01 {
    	public static void main(String[] args) throws Exception{
    		File f = new File("d:"+File.separator+"text.txt");
    		Scanner scan = new Scanner(f);
    		StringBuffer str = new StringBuffer();
    		while(scan.hasNext()){
    			str.append(scan.next()).append("\n");
    		}
    		System.out.println(str);
    	}
    }




    展开全文
  • Scanner获取用户输入

    万次阅读 2021-03-29 09:39:58
    next()和hasNext() public class Demo02_Scanner { public static void main... Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收: "); //判断用户有没有输入字符串 if (scanne

    next()和hasNext()

    public class Demo02_Scanner {
        public static void main(String[] args) {
            //创建一个扫描器对象,用于接收键盘数据
            Scanner scanner = new Scanner(System.in);
            System.out.println("使用next方式接收: ");
            //判断用户有没有输入字符串
            if (scanner.hasNext()){
                //使用next方式接收
                String str = scanner.next();//程序会等待输入内容,不输入会卡在这里
                System.out.println("输出的内容为: "+str);
            }
            //凡是属于IO流的类如果不关闭会一直占用资源.要养成好习惯用完就关掉
            scanner.close();
        }
    }
    

    nextLine()和hasNextLine()

    public class Demo02_Scanner {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("使用nextLine方式接收: ");
            //判断是否还有输入
            if (scanner.hasNextLine()) {
                String str = scanner.nextLine();
                System.out.println("输出的内容为: " + str);
            }
            scanner.close();
        }
    }
    

    在这里插入图片描述

    展开全文
  • Scanner的hasNext()方法

    万次阅读 多人点赞 2018-06-04 08:44:24
    一、实例代码 import java.util.*; public class ScannerKeyBoardTest { public static void main(String[] args) { System.out.println("请输入若干单词,以空格... Scanner sc = new Scanner(System...

    一、实例代码

    import java.util.*;
    public class ScannerKeyBoardTest
    {
    	public static void main(String[] args)
    	{
    		System.out.println("请输入若干单词,以空格作为分隔");
    		Scanner sc = new Scanner(System.in);
    		while(sc.hasNext())
    		{
    			System.out.println("键盘输入的内容是:"
    
    				+ sc.next());
    		}
    		System.out.println("执行吗");
    	}
    }
    

    最后的“执行吗”会被执行到吗?来,看实验结果
    这里写图片描述
    文字模糊,手动说明(这里的输入光标在闪动,期待你的再次输入!)





    二、执行过程

    为什么会这样,和我们理解的不一样呀?我们理解的运行过程是
    这里写图片描述
    hasNext()在缓冲区中依次扫描单词,分别返回true,然后再执行打印输出。扫描到空时返回false,退出while循环,最后执行“执行吗”语句。一般人都会这么想,然而不能想当然。下面我们去查一下API
    这里写图片描述
    方法解释:如果此扫描器的输入(缓冲区)中有另一个token(输入的字符串),则返回true。what? 根本没有提到什么时候返回false。其实执行过程是这样的(重点:),当执行到hasNext()时,它会先扫描缓冲区中是否有字符,有则返回true,继续扫描。直到扫描为空,这时并不返回false,而是将方法阻塞,等待你输入内容然后继续扫描。这样的话,它岂不是吃了**口香糖根本停不下来。

    三、解决方法

    使用带有参数的重载方法,当扫描到的字符与参数值匹配时返回true
    这里写图片描述
    修改后代码

    import java.util.*;
    public class ScannerKeyBoardTest
    {
        public static void main(String[] args)
        {
            System.out.println("请输入若干单词,以空格作为分隔");
            Scanner sc = new Scanner(System.in);
            while(!sc.hasNext("#"))  //匹配#返回true,然后取非运算。即以#为结束符号
            {
                System.out.println("键盘输入的内容是:"
    
                    + sc.next());
            }
            System.out.println("会执行的");
        }
    }
    

    运行结果:
    这里写图片描述

    展开全文
  • Java Scanner用法详解

    万次阅读 多人点赞 2017-02-08 21:47:10
    Scanner用法及Scanner报错:java.util.NoSuchElementException。
  • Java Scanner类的常用方法及用法(很详细)

    万次阅读 多人点赞 2018-08-24 21:16:23
    Java Scanner类的方法及用法(很详细) Scanner类简介 Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过...
  • 一般的方法:建议与开发沟通,设置万能验证码或是屏蔽校验代码,如果想挑战一下技术,那么就需要自己动手编写代码,这里介绍常用的Scanner类来与jmeter进行交互输入验证码。 1、例一:两个接口请求,一个请求验证码...
  • Java中Scanner用法总结

    万次阅读 多人点赞 2017-04-03 15:19:52
    最近在做OJ类问题的时候,经常由于Scanner的使用造成一些细节问题导致程序不通过(最惨的就是网易笔试,由于sc死循环了也没发现,导致AC代码也不能通过。。。),因此对Scanner进行了一些总结整理。Scanner类简介...
  • Scanner学习

    千次阅读 2020-06-29 23:13:27
    Scanner类学习   java.util.Scanner是Java5的新特征,他是可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以...
  • Java中Scanner 的用法/ Scanner怎么使用

    千次阅读 多人点赞 2019-11-19 18:17:04
    Java中要想输入时便要用到Scanner 首先在使用之前导入util包 要想通过控制台进行输入,首先要构造一个Scanner对象,它附属于"标准输入流 Scanner in = new Scanner(System.in); 现在我们就可以使用Scanner类的各种方法...
  • Scanner in = new Scanner(System.in);是什么意思?

    万次阅读 多人点赞 2020-05-06 09:31:25
    Scanner 是一个类,in是一个实例或者说是对象!new 是一个创建对象的方法…… Scanner这个类最实用的地方表现在获取控制台输入。 就相当与 声明 这是一个人类(Scanner),这个人类是谁(in), 后面新创建一个人类new ...
  • java 中的Scanner

    万次阅读 多人点赞 2016-07-21 10:56:52
    java.util.Scanner是Java5的新特征,主要功能是简化文本扫描。这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎么地。一、扫描控制台输入这个例子...
  • Scanner键盘输入

    2019-07-08 20:28:31
    Scanner键盘输入 // 第一步 导入Scanner类,放在当前源文件中有效代码的第一行。 import java.util.Scanner; public class Scanner1 { public static void main(String[] args) { // 第二步 实例化一个Scanner...
  • Scanner scanner=new Scanner(System.in)

    千次阅读 2014-09-14 17:32:00
    import java.util.Scanner;public class inputoutar{ public static void main(String[] args) throws NumberFormatException{ Scanner scanner=new Scanner(System.in); int inputInteger; int inputInt...
  • Scanner类(java.util.Scanner) 需求:获取用户从键盘输入的年龄、姓名和成绩 解决方法:使用ScannerScanner类的实现步骤 在有效代码的第一行,通过import关键字导入Scanner类,简言之,导包 例如: import ...
  • Scanner使用方法

    万次阅读 2019-06-05 14:14:46
    package cn.dali.code05... import java.util.Scanner;//导包,除了lang包之外其他都需要导包 public class scanner { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int i ...
  • java Scanner

    千次阅读 多人点赞 2019-03-25 17:30:43
    java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。 类的初始化: Scanner object=new Scanner(System.in); 下面简略介绍下Scanner类的方法: next():获取用户的输入,必须要获取到...
  • Java Scanner用法

    千次阅读 2020-12-04 12:22:42
    java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。 Scanner用法: Scanner demo = new Scanner(System.in); Scanner实例: /* * * 从控制台输入 * **/ import java....
  • Scanner使用技巧

    千次阅读 2019-04-24 18:20:41
    Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。可以使用不同的 next 方法将得到的标记转换为不同类型的值,例如: Scanner sc = new Scanner(System.in); int i = sc.nextInt(); ...
  • Scanner的用法

    2020-04-14 20:53:14
    Scanner的用法: 先在第一行输入import java.util.Scanner; 再到要使用的地方输入 Scanner input = new Scanner(System.in); 输入语句:变量 = input.nextInt();
  • 如果在代码中关闭了Scanner,也就是调用了Scanner.close()这个方法,那么在接下来的代码中将无法再使用Scanner,即便再次声明了一个新的Scanner对象也是如此。 Scanner sc = new Scanner(System.in);//创建第一个...
  • Scanner类使用方法

    2019-06-08 21:18:59
    Scanner
  • 1、Scanner介绍 nextlnt():只读取int值,就是只能读取整数类型的数据,如果输入了非整型的数据(浮点型字符串等)就会报错。nextFloat()、nextDouble()这些也是以此类推,只能读取符合该类型的数据。 next()和...
  • Java Scanner

    千次阅读 2016-11-16 12:55:23
    Java Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。 下面是创建 Scanner 对象的基本语法: Scanner s = new Scanner(System.in); 接下来我们...
  • Scanner 的用法-java

    千次阅读 多人点赞 2020-12-19 10:33:17
    Scanner类的用法 导入包(一般用的时候会自动导入?) import java.util.Scanner; 创建一个Scanner对象 Scanner scanner = new Scanner(System.in); 创建完后就可以用这个scanner对象来接受键盘输入的数据 //判断...
  • Scanner简介

    千次阅读 2013-12-09 14:48:48
    Scanner(jdk API) :一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。 Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 385,478
精华内容 154,191
关键字:

scanner