数组的溢出

问题描述

String updateName=input.next();int updateIndex=-1;for (int i = 0; i < names.length; i++) { String strName=names[i]; if(updateName.equals(strName)){updateIndex=i;对于这个等于 -1不是很明白

解决方案

就是没有搜到的话,还回-1,就像 String的indexOf()这个方法一样
解决方案二:
如果names不为空,updateIndex的取值范围是:[0,names.length-1],这里的-1用来标识names要么为空,要么没有符合条件的元素。
解决方案三:
names 是一个数组 ,数组的下标不能为负数,所以可以用负数标识为不存在。就是用来判断存在与否

时间: 2024-08-21 19:54:57

数组的溢出的相关文章

缓冲区溢出还是问题吗?C++/CLI安全编码

C++/CLI是对C++的一个扩展,其对所有类型,包括标准C++类,都添加了对属性.事件.垃圾回收.及泛型的支持. Visual C++ 2005扩展了对使用C++/CLI(通用语言基础结构)开发运行于带有垃圾回收的虚拟机上的控件及应用程序的支持,而C++/CLI是对C++编程语言的一个扩展,其对所有类型,包括标准C++类,都添加了如属性.事件.垃圾回收.及泛型等特性. Visual C++ 2005支持.NET Framework通用语言运行时库(CLR),其是垃圾回收虚拟机Microsoft

JavaScript之数组(Array)详解

 ECMAScript的数组与其他语言中的数组有着相当大的区别.虽然ECMAScript中的数组也是有序列表,但是它数组你的每一项可以保存任何类型的数据.ECMAScript数组的大小是可以动态调整的. 创建数组的基本方式有两种.第一种是使用Array构造函数,如下所示: 复制代码 代码如下: var colors = new Array(); 如果知道数组要保存的项目数量,也可以给构造函数传递参数,而该参数会自动变成length属性的值,如下: 复制代码 代码如下: var colors =

JavaScript之数组(Array)详解_基础知识

ECMAScript的数组与其他语言中的数组有着相当大的区别.虽然ECMAScript中的数组也是有序列表,但是它数组你的每一项可以保存任何类型的数据.ECMAScript数组的大小是可以动态调整的.     创建数组的基本方式有两种.第一种是使用Array构造函数,如下所示: 复制代码 代码如下: var colors = new Array();     如果知道数组要保存的项目数量,也可以给构造函数传递参数,而该参数会自动变成length属性的值,如下: 复制代码 代码如下: var co

C#中数组下标为-1代表什么意思

问题描述 比如A[-1,-1] 解决方案 解决方案二:这样会产生异常,报indexoutofrange异常解决方案三:一般情况,代表一个IndexOutOfRangeException...但是如果这个是类似(int[,])Array.CreateInstance(typeof(int),new[]{5,5},new[]{-1,-1});这样创建的,那么负数下标就是合法的.或者说,CLI定义里是支持负下标数组的,但是c#本身的数组定义语法不支持.而且.net基础类库也不支持操作负下标数组,所以最

ASP访问ACCESS出错提示简要解释

access|访问 问题:我在asp上挂上access数据库,发现它不支持Group by 或 Order by 子句,请问是何原因? SELECT * FROM zyckb group by ckdwdm where cksj>cdate(1998/12/31) Microsoft OLE DB Provider for ODBC Drivers 错误 80040e21 ODBC 驱动程序不支持需要的属性. 1 group子句只能用在Where子句后面. 2 直接使用 Microsoft.Je

各种运行期错误

错误     本章前面部分展示了一些问题,包括错误如何出现.如何寻找错误和如何处理错误等等.现在更重要的是要掌握能够发生不同种类的错误,并且如何区分这些错误.需要记住的是,如果知道了到哪里去找和寻找什么,调试则是比较容易的.在本章最后,将介绍错误确实出现时如何捕获错误,并且要尽可能早地阻止错误的发生.       在学习这些内容之前,首先要深入了解一下在某阶段肯定会遇到的不同类型的运行期和语义错误,主要讨论以下内容:       · 逻辑错误.       · 脚本运行期错误.       ·

数据结构的C++实现之队列的顺序存储结构(循环队列)

队列(Queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表.是一种先进先出的线性表(FIFO). 允许插入的一端称为队尾,允许删除的一端称为队头.我们在<栈的顺序存储结构>中发现,栈操作的top指针在Push时增 大而在Pop时减小,栈空间是可以重复利用的,而队列的front.rear指针都在一直增大,虽然前面的元素已经出队了,但它 所占的存储空间却不能重复利用.但大多数程序并不是这样使用队列的,一般情况下出队的元素就不再有保存价值了,这些 元素的存储空间应该回收利用,由此想

Code Review 理论与实战

一. Code Review 简介 1 Code Review 的目的 凡事知其然还要知其所以然 , 我们首先需要知道什么是 Code Review 和我们使用它的目的是什么. Code Review 是一种用来确认方案设计和代码实现的质量保证机制,通过这个机制我们可以对代码,测试过程和注释进行检查. Code Review 主要用来在软件工程过程中改进代码质量,通过 Code Review 可以达到如下目的: 在项目早期就能够发现代码中的BUG 帮助初级开发人员学习高级开发人员的经验,达到知识

java 新手,求检查改正代码

问题描述 java 新手,求检查改正代码 题目要求: 文件夹中给出的源程序Main.java,StuList.java,Student.java,填补其中的空缺内容. 要求: (1)StuList.java和Student.java在同一个包中. (2)Main.java在无名包中. 其中,Main.java中的类使用到StuList.java和Student.java中的成员变量或者成员方法. 本实验中的源程序可以完成如下任务: 创建学生链表,从键盘上输入学生信息加入学生链表,添加学生信息,删