精华内容
下载资源
问答
  • 如何在HTML中限制input 输入框只能输入纯数字

    万次阅读 多人点赞 2018-02-27 15:23:29
    在输入框输入任何非数字内容,都会自动退格并清除! 核心代码: onKeyUp=”value=value.replace(/[^\d]/g,”)” 示例代码 <!DOCTYPE html> <html lang="en&...

    限制 input 输入框只能输入纯数字

    1、onkeyup = "value=value.replace(/[^\d]/g,'')"

    使用 onkeyup 事件,有 bug ,那就是在中文输入法状态下,输入汉字之后直接回车,会直接输入字母

    2、onchange = "value=value.replace(/[^\d]/g,'')"

    使用 onchange 事件,在输入内容后,只有 input 丧失焦点时才会得到结果,并不能在输入时就做出响应

    3、oninput = "value=value.replace(/[^\d]/g,'')"

    使用 oninput 事件,完美的解决了以上两种问题,测试暂时还没有出现其它问题。

    代码示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>input</title>
    </head>
    <body>
        只能输入纯数字的输入框:<input type="text" name="" oninput="value=value.replace(/[^\d]/g,'')">
    </body>
    </html>
    

    以上代码均已在谷歌、火狐、百度、UC、IE11、360急速、QQ、Edge浏览器下测试完毕,请放心使用,

    感谢 qq_38726717小小小欣 两位小伙伴在评论区的反馈。

    展开全文
  • java中的输入操作

    万次阅读 多人点赞 2018-03-10 11:36:20
    Java中输入一般是通过Scanner类来实现的:具体步骤如下:(1)创建Scanner对象,接受从控制台输入Scanner input=new Scanner(System.in);(2) 接受String类型String str=new input.next();(3)接受int类型int n=...

    Java中输入一般是通过Scanner类来实现的:

    具体步骤如下:

    (1)创建Scanner对象,接受从控制台输入

    Scanner input=new Scanner(System.in);

    (2) 接受String类型

    String str=input.next();

    (3)接受int类型

    int n=input.nextInt();

    (4)输出结果

    System.out.println(str);

    System.out.println(n);

     

    输入一个数:

    import java.util.Scanner;
    
    public class Demo59 {
    	public static void main(String[] args) {
    		//创建Scanner对象,接受从控制台输入
    		Scanner input=new Scanner(System.in);
    		//接受String类型
    		String str=input.next();
    		//输出结果
    		System.out.println(str);
    	}
    
    }

    输出结果为:

    连续输入多个数:

    import java.util.Scanner;
    
    public class Demo59 {
    	public static void main(String[] args) {
    		/*
    		//创建Scanner对象,接受从控制台输入
    		Scanner input=new Scanner(System.in);
    		//接受String类型
    		String str=input.next();
    		//输出结果
    		System.out.println(str);
    		*/		
    		Scanner input=new Scanner(System.in);
    		//输入数组的长度
    		int len=input.nextInt();
    		//创建一个数组
    		int[] array=new int[len];
    		//遍历数组,并给其赋值
    		for(int i=0;i<len;i++){
    			array[i]=input.nextInt();
    		}
    		//打印数组
    		for(int i:array){
    			System.out.print(i+" ");
    		}
    	}
    }
    输出结果为:

     

     

     

     

     

     

     

     

     

    展开全文
  • 1.首先,你要在浏览器中输入网址 2.浏览器查找域名的IP地址 浏览器会把输入的域名解析成对应的IP,DNS过程如下: 查找浏览器缓存:因为浏览器一般会缓存DNS记录一段时间,不同的浏览器的时间可能不一样,一般2-30...

    1.首先,你要在浏览器中输入网址

    2.浏览器查找域名的IP地址

    浏览器会把输入的域名解析成对应的IP,DNS过程如下:

    1. 查找浏览器缓存:因为浏览器一般会缓存DNS记录一段时间,不同的浏览器的时间可能不一样,一般2-30分钟不等,浏览器去查找这些缓存,如果有缓存,直接返回IP,否则下一步
    2. 查找系统缓存:浏览器缓存中找不到IP之后,浏览器会进行系统调用(windows中是gethostbyname),查找本机的hosts文件,如果找到,直接返回IP,否则下一步
    3. 查找路由器缓存:如果1,2步都查询无果,则需要借助网络,路由器一般都有自己的DNS缓存,将前面的请求发给路由器,查找ISP服务商缓存的DNS的服务器,如果查找到IP则直接返回,没有的话继续查找
    4. 递归查询:如果上述步骤还找不到,则ISP的DNS服务器就会进行递归查询,所谓递归查询就是如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发送查询请求报文,而不是让该主机自己进行下一步查询。(本地域名服务器地址是通过DHPC协议获取地址,DHPC是负责分配IP地址的)
    5. 迭代查询:本地域名服务器采用迭代查询,他先向一个根域名服务器查询。本地域名服务器向根域名服务器的查询一般都是采用迭代查询。所谓迭代查询就是当根域名服务器收到本地域名服务器发出的查询请求报文后,要么告诉本地服务器下一步查询哪一个域名服务器,然后本地域名服务器进行后续的查询。(而不是替代本地域名服务器进行后续查询)

    在本例子中:根域名服务器告诉本地域名服务器,下一次查询的顶级域名服务器dns.net的IP地址。本地域名服务器向顶级域名服务器进行查询。顶级域名服务器dns.net告诉本地域名服务器,下一次应查询的权限域名服务器dns.csdn.net的IP地址。本地域名服务器向权限域名服务器dns.cadn.net进行查询。权限域名服务器dns.csdn.net告诉本地域名服务器,所查询的主机www.csdn.net的IP地址。本地域名服务器最后把结果告诉主机。

    3.浏览器与目标服务器建立TCP连接

    1. 主机浏览器通过DNS解析得到了目标服务器的IP地址后,与服务器建立TCP连接
    2. TCP三次握手建立连接:浏览器所在的客户机向服务器发出连接请求报文(SYN标志为1);客户机接收到确认报文后,再次向服务器发出报文(SYN,ACK标志位均为1);客户机接收到确认报文后,再次向服务器发出报文,确认已接收到确认包问;此处客户机与服务器之间的TCP连接建立完成,开始通信

    4.浏览器给web服务器发送一个HTTP请求

    浏览器向主机发起一个HTTP-GET方法的请求。请求的方法包含访问的URL,也就是http://www.csdn.com/ ,KeepAlive,长连接,还有User-Agent用户浏览器操作系统信息,编码等。值得一提的是Accep-Econding的Cookies项。Accept-Ecnoding一般采用gzip,压缩之后传输html文件。Cookies如果是首次访问,会提示服务器建立用户缓存信息,如果不是,可以利用Cookies对应键值,找到相应缓存,缓存里面存放着用户名,密码和一些用户设置项

    5.某些服务器会做永久重定向响应

    对于大型网站存在多个主机站点,负载均衡或者导入流量,提高SEO排名。往往不会直接返回请求页面,而是重定向。返回的状态码不是200ok,而是301,302以3开头的重定向码,浏览器在获取了重定向响应后,在响应报文中Location项找到重定向地址,浏览器重新第一步访问即可。

    重定向的作用:重定向是为了负载均衡或者导入流量,提高SEO排名。利用一个前端服务器接受请求,然后负载到不同的主机上,可以大大提高站点的业务并发处理能力,重定向也可将多个域名的访问,集中到一个站点;由于baidu.com,www.baidu.com会被搜索引擎认为是两个网站,造成每个的连接数都活减少从而降低排名,永久重定向会将两个地址关联起来,搜索引擎会认为是同一个网站,从而提高排名

    6.浏览器跟踪重定向地址

    当浏览器知道了重定向后最终的访问地址之后,重新发送一个http请求,发送内容同上。

    7.服务器处理请求

    服务器接收到获取请求,然后处理并返回一个响应

    8.服务器发出一个HTML响应

    返回状态码200 ok,表示服务器可以响应请求,返回报文,由于在报头中Content-type为“text/html”,浏览器以HTML形式呈现,而不是下载文件。

    9.释放TCP连接

    1. 浏览器所在的主机向服务器发出连接释放报文,然后停止发送数据
    2. 服务器接收到释放连接报文后发出确认报文,然后将服务器上未传送完的数据发送完
    3. 服务器数据传输完毕后,向客户机发送连接释放报文
    4. 客户机接收到报文后,发出确认,然后等待一段时间后,释放TCP连接

    10.浏览器显示页面

    在浏览器没有完整接收全部HTML文档时,它就已经开始显示这个页面了,浏览器收到返回的数据包,根据浏览器的渲染机制对响应的数据进行渲染。渲染后的数据,进行相应的页面呈现和脚步的交互

    11.浏览器发送获取嵌入在HTML中的其他内容

    比如一些样式文件,图片url,js文件url等,浏览器会通过这些url重新发送请求,请求过程依然是HTML读取类似的过程,查询域名,发送请求,重定向等。不过这些静态文件是可以缓存到浏览器中的,有时访问这些文件不需要通过服务器,直接从缓存中取。某些网站也会使用第三方CDN进行托管这些静态文件。

     

    展开全文
  • 在通用定时器框图中,主要涉及到最顶上的一部分(计数时钟的选择)、中间部分(时基单元)、左下部分(输入捕获)这三个部分。这里主要讲解一下左下部分(输入捕获),其他两个部分可以参考文章:【STM32】通用...

    STM32F1xx官方资料:

    《STM32中文参考手册V10》-第14章  通用定时器

     

    通用定时器输入捕获概述

    输入捕获的工作原理

    在通用定时器框图中,主要涉及到最顶上的一部分(计数时钟的选择)、中间部分(时基单元)、左下部分(输入捕获)这三个部分。这里主要讲解一下左下部分(输入捕获),其他两个部分可以参考文章:【STM32】通用定时器的基本原理(实例:定时器中断)

    输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6、TIM7,其他的定时器都有输入捕获的功能。下面以一个简单的脉冲输入为例,简单地讲述一下输入捕获用于测量脉冲宽度的工作原理:

    先设置输入捕获为上升沿检测,记录发生上升沿时TIMx_CNT的值。然后配置捕获信号为下降沿捕获,当下降沿到来的时候发生捕获,并记录此时的TIMx_CNT的值。这样,前后两次TIMx_CNT的值之差就是高电平的脉宽。同时根据TIM的计数频率,我们就能知道高电平脉宽的准确时间。

    输入捕获的通道概览

    每一个捕获/比较通道都是围绕着一个捕获/比较寄存器(包含影子寄存器),包括捕获的输入部分(数字滤波、多路复用和预分频器),和输出部分(比较器和输出控制)。

    捕获/比较模块由一个预装载寄存器和一个影子寄存器组成。读写过程仅操作预装载寄存器。

    • 在捕获模式下,捕获发生在影子寄存器上,然后再复制到预装载寄存器中。 
    • 在比较模式下,预装载寄存器的内容被复制到影子寄存器中,然后影子寄存器的内容和计数器进行比较。

    输入部分对相应的TIx输入信号采样,并产生一个滤波后的信号TIxF。然后,一个带极性选择的边缘检测器产生一个信号(TIxFPx),它可以作为从模式控制器的输入触发或者作为捕获控制。该信号通过预分频进入捕获寄存器(ICxPS)。

    一句话总结工作过程:通过检测TIMx_CHx通道上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。同时,还可以配置捕获时是否触发中断/DMA等。

     

    输入捕获的工作过程

    将输入捕获的通道图进行分解,分解成四个部分,下面对这四个部分进行分析来了解输入捕获的工作过程:

    设置输入捕获滤波器

    输入捕获滤波器IC1F[3:0],这个用于设置采样频率和数字滤波器长度。其中:fCK_INT是定时器的输入频率,fDTS是根据TIMx_CR1的CKD[1:0]的设置来确定的。

    这里滤波器的作用是什么意思呢?数字滤波器由一个事件计数器组成,它记录到N个事件后会产生一个输出的跳变。也就是说连续N次采样,如果都是高电平,则说明这是一个有效的触发,就会进入输入捕捉中断(如果设置了的话)。这样就可以滤除那些高电平脉宽低于8个采样周期的脉冲信号,从而达到滤波的作用。

    设置输入捕捉极性

    这里是设置捕捉事件是发生在上升沿还是下降沿

    设置输入捕获映射关系

    由于我们只显示了一路通道的通道图,如果在几条通路的情况下:

    在TIMx_CH1和TIMx_CH2两条通道的情况下,我们可以看出除了TIMx_CH1捕捉到的信号可以连接到IC1,TIMx_CH2捕捉到的信号可以连接到IC2之外,TIMx_CH1捕捉到的信号也可以连接到IC2,TIMx_CH2捕捉到的信号也可以连接到IC1。

    一般情况下,我们设置成TIMx_CH1捕捉到的信号可以连接到IC1,TIMx_CH2捕捉到的信号可以连接到IC2。

    设置输入捕获分频器

    这里设置的是每N个事件触发一次捕捉。也就是说,我们可以设置成,每2次上升沿事件触发一次捕捉。

     

    输入捕获相关配置寄存器

    捕获/比较模式寄存器1(TIMx_CCMR1)

    作用:在输入捕获模式下,确定数字滤波器、通道映射、预分频系数

    捕获/比较使能寄存器(TIMx_CCER)

    作用:在输入捕获模式下,确定捕捉极性和捕捉使能

    捕获/比较寄存器1(TIMx_CCR1)

    作用:在输入捕获模式下,确定上一次输入捕捉事件传输的计数值。

     

    输入捕获相关配置库函数

    • 1个输入初始化函数
    void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);

    作用:初始化捕获通道、滤波器、捕获极性、映射关系、分频系数等参数。

    注意:由于输出初始化函数将所有的4个通道的函数分开各自定义了一个函数,而输入初始化函数并没有这么做。所以在输入初始化函数中,需要指定捕获通道。

    • 1个参数获取函数
    uint16_t TIM_GetCapture1(TIM_TypeDef* TIMx);
    uint16_t TIM_GetCapture2(TIM_TypeDef* TIMx);
    uint16_t TIM_GetCapture3(TIM_TypeDef* TIMx);
    uint16_t TIM_GetCapture4(TIM_TypeDef* TIMx);

    作用:在四个通道中选择一个,确定上一次输入捕捉事件传输的计数值

    • 1个参数设置函数
    void TIM_OC1PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity);
    void TIM_OC2PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity);
    void TIM_OC3PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity);
    void TIM_OC4PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity);

    作用:在四个通道中选择一个,设置通道极性。通常在初始化函数中已经设置了通道极性,此函数用于除初始化之外的修改。

     

    输入捕获的一般步骤

    实例要求:使用TIM5的通道1(PA0)来作为输入捕获,捕获PA0上高电平的脉宽(用WK_UP按键输入高电平),通过串口打印高电平脉冲时间。

    • 初始化定时器和通道对应IO的时钟;
    • 初始化IO口,模式为输入。调用函数:GPIO_Init();
    • 初始化定时器ARR,PSC。调用函数:TIM_TimeBaseInit();
    • 初始化输入捕获通道。调用函数:TIM_ICInit();
    • 如果要开启捕获中断。调用函数:TIM_ITConfig();NVIC_Init();
    • 使能定时器。调用函数:TIM_Cmd();
    • 编写中断服务函数。调用函数:TIMx_IRQHandler()。

    下面按照这个一般步骤来进行一个简单的输入捕获程序:

    //定时器5通道1输入捕获配置
    
    TIM_ICInitTypeDef  TIM5_ICInitStructure;
    
    void TIM5_Cap_Init(u16 arr,u16 psc)
    {	 
    	GPIO_InitTypeDef GPIO_InitStructure;
    	TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
       	NVIC_InitTypeDef NVIC_InitStructure;
    
    	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE);	//使能TIM5时钟
     	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);  //使能GPIOA时钟
    	
    	GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0;  //PA0 清除之前设置  
    	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0 输入  
    	GPIO_Init(GPIOA, &GPIO_InitStructure);
    	GPIO_ResetBits(GPIOA,GPIO_Pin_0);						 //PA0 下拉
    	
    	//初始化定时器5 TIM5	 
    	TIM_TimeBaseStructure.TIM_Period = arr; //设定计数器自动重装值 
    	TIM_TimeBaseStructure.TIM_Prescaler =psc; 	//预分频器   
    	TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
    	TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
    	TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位
      
    	//初始化TIM5输入捕获参数
    	TIM5_ICInitStructure.TIM_Channel = TIM_Channel_1; //CC1S=01 	选择输入端 IC1映射到TI1上
      	TIM5_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;	//上升沿捕获
      	TIM5_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //映射到TI1上
      	TIM5_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;	 //配置输入分频,不分频 
      	TIM5_ICInitStructure.TIM_ICFilter = 0x00;//IC1F=0000 配置输入滤波器 不滤波
      	TIM_ICInit(TIM5, &TIM5_ICInitStructure);
    	
    	//中断分组初始化
    	NVIC_InitStructure.NVIC_IRQChannel = TIM5_IRQn;  //TIM3中断
    	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;  //先占优先级2级
    	NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;  //从优先级0级
    	NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
    	NVIC_Init(&NVIC_InitStructure);  //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器 
    	
    	TIM_ITConfig(TIM5,TIM_IT_Update|TIM_IT_CC1,ENABLE);//允许更新中断 ,允许CC1IE捕获中断	
    	
       	TIM_Cmd(TIM5,ENABLE ); 	//使能定时器5
    
    }
    
    u8  TIM5CH1_CAPTURE_STA=0;	//输入捕获状态		    				
    u16	TIM5CH1_CAPTURE_VAL;	//输入捕获值
     
    //定时器5中断服务程序	 
    void TIM5_IRQHandler(void)
    { 
    
     	if((TIM5CH1_CAPTURE_STA&0X80)==0)//还未成功捕获	
    	{	  
    		if (TIM_GetITStatus(TIM5, TIM_IT_Update) != RESET)
    		 
    		{	    
    			if(TIM5CH1_CAPTURE_STA&0X40)//已经捕获到高电平了
    			{
    				if((TIM5CH1_CAPTURE_STA&0X3F)==0X3F)//高电平太长了
    				{
    					TIM5CH1_CAPTURE_STA|=0X80;//标记成功捕获了一次
    					TIM5CH1_CAPTURE_VAL=0XFFFF;
    				}else TIM5CH1_CAPTURE_STA++;
    			}	 
    		}
    	if (TIM_GetITStatus(TIM5, TIM_IT_CC1) != RESET)//捕获1发生捕获事件
    		{	
    			if(TIM5CH1_CAPTURE_STA&0X40)		//捕获到一个下降沿 		
    			{	  			
    				TIM5CH1_CAPTURE_STA|=0X80;		//标记成功捕获到一次高电平脉宽
    				TIM5CH1_CAPTURE_VAL=TIM_GetCapture1(TIM5);
    		   		TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Rising); //CC1P=0 设置为上升沿捕获
    			}else  								//还未开始,第一次捕获上升沿
    			{
    				TIM5CH1_CAPTURE_STA=0;			//清空
    				TIM5CH1_CAPTURE_VAL=0;
    	 			TIM_SetCounter(TIM5,0);
    				TIM5CH1_CAPTURE_STA|=0X40;		//标记捕获到了上升沿
    		   		TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Falling);		//CC1P=1 设置为下降沿捕获
    			}		    
    		}			     	    					   
     	}
     
        TIM_ClearITPendingBit(TIM5, TIM_IT_CC1|TIM_IT_Update); //清除中断标志位
     
    }
    
    extern u8  TIM5CH1_CAPTURE_STA;		//输入捕获状态		    				
    extern u16	TIM5CH1_CAPTURE_VAL;	//输入捕获值	
     int main(void)
     {		
     	u32 temp=0; 
    	delay_init();	    	 //延时函数初始化	  
    	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
    	uart_init(115200);	 //串口初始化为115200
     
     	TIM5_Cap_Init(0XFFFF,72-1);	//以1Mhz的频率计数 
       	while(1)
    	{
     		delay_ms(10);
    		 		 
     		if(TIM5CH1_CAPTURE_STA&0X80)//成功捕获到了一次上升沿
    		{
    			temp=TIM5CH1_CAPTURE_STA&0X3F;
    			temp*=65536;//溢出时间总和
    			temp+=TIM5CH1_CAPTURE_VAL;//得到总的高电平时间
    			printf("HIGH:%d us\r\n",temp);//打印总的高点平时间
    			TIM5CH1_CAPTURE_STA=0;//开启下一次捕获
    		}
    	}
     }

    代码逻辑

    这里关于输入捕获的初始化部分比较简单,对照着一般步骤来就行了。但是在中断处理函数TIM5_IRQHandler()部分就有所难度了,为什么会比较复杂呢?

    由于我们进行输入捕获,一旦捕捉到了上升沿,就设置计数器当前值为0,让它从0开始重新计数:

    	 		TIM_SetCounter(TIM5,0);

    但是如果脉冲的长度过于宽了,也就是说,从0开始计数到自动重加载值一个循环结束了,脉冲还是没有结束。这个情况下,显而易见不能只记录一下最后的计数器当前值。

    解决这个问题的办法:

    设置一个变量TIM5CH1_CAPTURE_STA,bit5-0为捕捉高电平后定时器溢出的次数,bit6为捕捉到高电平标志,bit7为捕获完场标志。

    同时设置两个中断(更新中断和捕获中断)

    	TIM_ITConfig(TIM5,TIM_IT_Update|TIM_IT_CC1,ENABLE);//允许更新中断 ,允许CC1IE捕获中断	

    在中断处理函数中,先判断是否捕获成功,如果捕获成功了,说明是在脉冲低电平的阶段,什么都不需要做;如果捕获没有成功,说明是在脉冲高电平的阶段,就需要继续判断中断类型,然后再分别进行处理。在更新中断中,表示此时脉冲长度过长,TIM5CH1_CAPTURE_STA加1。在捕获中断中,判断捕捉到的是否为上升沿,如果是,计数器当前值清零,TIM5CH1_CAPTURE_STA清零,同时标记标志,设置极性下降沿捕捉;如果不是,标记捕获完成,保存当前计数器的值,设置极性上升沿捕获。

    extern关键字

    C语言中,extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此类变量和函数时在其他模块中寻找其定义。

    注意:对于extern申明变量可以多次,但是定义只有一次。

     

    展开全文
  • vue监听input输入事件-oninput

    万次阅读 热门讨论 2017-05-25 19:14:06
    .vue文件其实是一个组件,关于它的说明我之前也写过一篇文章,地址: .vue文件,今天这篇文章要讲的是.vue文件中监听input的输入值变化事件。需求是这页面中,改变input的值,就调用一个事件,第一想到的是oninput。...
  • Python之如何实现一行输入多个值

    万次阅读 多人点赞 2017-08-22 20:03:07
    python如何实现一行输入多个值呢? 例如 读入两个数10 23到a b 中。 很简单 a,b = input().split() 即可。 当然,a,b中保存的是字符串。 如果要求a,b中保存的是整数的话可以这样写 a,b = map(int,input...
  • c++输入问题:输入回车判断当前输入结束

    万次阅读 多人点赞 2018-11-21 18:13:47
    C++输入回车结束输入 例如 输入一组整数 1 3 5 7 9 按回车之后 结束输入 法1:数组 int mk[100]; int i=0; while(cin &gt;&gt; mk[i]) { i++; if (cin.get() == '\n') break; } 法2:...
  • type为number的input标签输入小数的方法

    万次阅读 多人点赞 2016-09-17 03:25:13
    type为number的input标签输入小数的方法
  • java控制台输入

    万次阅读 2019-04-04 11:46:55
    查了一下都讲是输入输出的问题。一方面觉得笔试这样设置非常不合理,另一方面也明白是自己输入输出着实没学到位,因此没有这方面应急能力。所以总结一下输入输出。 步骤: (1)创建Scanner对象,接受从控制台输入...
  • Java的常用输入输出语句

    万次阅读 多人点赞 2018-04-14 19:03:38
    一、概述 输入输出可以说是计算机的基本功能。作为一种语言体系,java中主要按照流(stream)的模式来实现。其中数据的流向是按照计算机的方向确定的,流入计算机的数据流叫做输入流(inputStream),由计算机发出的...
  • 以及上拉输入、下拉输入、浮空输入、模拟输入的区别 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_...
  • 前言 以前做算法题,都是实现一个方法,需要的参数会在...由于没有见过这种套路,博主的心态极差,且十分惊奇地发现,当使用 Java 输入类 nextLine 方法读取输入流中的字符串时,总会莫名其妙地少读一部分! 然后...
  • 以及上拉输入、下拉输入、浮空输入、模拟输入的区别 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_...
  • Golang 输入

    千次阅读 2020-08-02 11:16:16
    但是在很多情况下, 我们希望用户通过键盘输入一个数值, 然后存储到某个变量中, 接着将该变量的值取出来, 进行操作. 那么Go语言中怎么接收用户的键盘输入呢? 具体操作如下: 第一种形式:fmt.Scanf() package main ...
  • Java输入输出

    万次阅读 多人点赞 2018-05-12 15:27:45
    引言:在平时java开发中,被输入输出搞得头疼。特此写下这篇博客,一是为了总结输入输出,二是为了和大家分享。如果大家觉得写得好,就请高抬贵手点个赞呗!!! 1.输入格式,输出格式控制 1.1输入处理 java的...
  • EditText可以设置多种输入方式,其中若要设置输入数字和小数点时应注意一下几点: 有两种写法:一、利用安卓自身的语法。二、利用正则表达式。 一、利用安卓自身的语法 1.如果设置只输入数字 edittext....
  • C/C++文件输入输出(详细介绍)

    万次阅读 多人点赞 2018-10-28 09:39:20
    ´在头文件iostream中定义有两个流类:输入流类istream和输出流类ostream,且用这两个类定义了流对象cin和cout: ´Istream cin; ´ostream cout; ´cin是一个istream类的对象,它从标准输入设备(键盘)获取数据,...
  • DOS界面输入密码时,一般都没有*号之类的提示的,等你输入完了,按回车就行了。比如用net use 命令建立共享连接时,如果要求输入用户名和密码,输入用户名的时候,输入的东西会显示出来,输入密码的时候就什么东东都...
  • C++中输入字符串的几种方法

    万次阅读 多人点赞 2018-08-26 17:19:39
    C++中常见的几种输入字符串的方法如下: cin、cin.get()、cin.getline()、getline()、gets()、getchar() 1. cin&gt;&gt; 用法一:最常用、最基本的用法,输入一个数字: #include &lt;iostream&...
  • 1、设置不可编辑 setReadOnly(false); //或 setEnabled(false); //或 setFocusPolicy(Qt::NoFocus);//无法获得焦点,自然无法输入,其他文本控件类似 ...如图,搜索输入框,没有输入任何字符时...
  • 要求输入number,但是用户键入了字母A,仍然有结果,但是不正确,同时后面的代码自行运行了,没有办法去输入string了。所以要改进,可以判断输入的是否为正确的数据类型 利用cin.good()和cin.fail()判断: cin....
  • java怎么从键盘输入数据

    万次阅读 多人点赞 2018-03-31 17:15:47
    对于大部分学过C++,C的同学来说,可能有一点陌生,java是一门面向对象的语言 ,所以它的输入并不是先定义一个变量,再cin它;java没有提供诸如C/C++中的scanf输入函数,因此从键盘输入并不是一个简单的事情,为了...
  • 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_...
  • 以及上拉输入、下拉输入、浮空输入、模拟输入的区别 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)...
  • cmd输入java有效,输入javac无效解决方案

    万次阅读 多人点赞 2018-07-26 22:45:58
    笔记本的系统是win10 64bit的系统,按照...运行cmd的时候,输入java会有输出,但是输入javac的时候就报javac不是内部或外部命令的错误。 最终的解决办法是: cmd中输入:set path="%JAVA_HOME%\bin" ...
  • 运放输入的“共模输入阻抗”是输入对地(或对电源)的阻抗,“差模阻抗”则是两输入端间的阻抗。通常(VFA)运放的共模输入阻抗比差模要大很多,但由于深度负反馈的作用,差模阻抗影响减小很多。对于一楼图中的电路...
  • 问题:电脑输入密码界面进入不了系统,开始无限重启状态。解决方法如下:1.进入安全模式进入安全模式的方法,这里推荐一种最简单的方法,其方法就是在电脑重启开机时,点击F8,win7,win8,win10系统均适用。(可以...
  • 程序是人机交互的媒介,有输出必然也有输入,第三章我们讲解了如何将数据输出到显示器上,本章我们开始讲解如何从键盘输入数据。在C语言中,有多个函数可以从键盘获得用户输入: scanf():和 printf() 类似,scanf...
  • 在C语言中怎样定义一个字符串并输入输出

    万次阅读 多人点赞 2018-02-28 16:57:29
    在C语言中没有字符串类型,用字符数组处理字符串 ...输入输出方法:逐个字符输入输出:%c 整个字符串输入输出:%s 一 :用scanf输入字符串,printf输出字符串  逐个字符处理: #include int main()
  • 7-2 比较大小 本题要求将输入的任意3个整数从小到大输出。 输入格式: 输入在一行中给出3个整数,其间以空格分隔。 输出格式: 在一行中将3个整数从小到大输出,其间以“->”相连。 输入样例: 4 2 8 输出样例:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,388,554
精华内容 955,421
关键字:

输入