这次我对1.2章节中的数组进行了改进,在测试中我发现了一个问题,当new出数组类对象后,接着对它进行了插入值操作,然后只是显示了一下数组中的元数,再对它进行了插值,就出现数组越界异常...
改进后的代码如下:
package utillity.array;
public class AdvancedArray {
private long[] arr;
private int lenth;
private int nElem;
public AdvancedArray(int max){
arr = new long[max];
this.setLenth(max);
this.nElem = 0;
}
private void setLenth(int lenth){
this.lenth = lenth;
}
public int getLenth(){
return this.lenth;
}
//插入
public void insert(long value){
if(this.nElem < this.getLenth()){
arr[nElem] = value;
nElem++;
}
}
//查找
public boolean find(long serchValue){
boolean b = false;
int i = 0; //记录循环次数
for(i=0; i<this.nElem; i++){
if(arr[i] == serchValue){
b = true;
System.out.println("arr["+i+"]="+arr[i]);
return b;
}
}
if(i == this.nElem){
System.out.println("找不到"+serchValue);
}
return b;
}
//删除
public void delete(long delValue){
int i = 0;
//查找位置
for(i=0; i<this.nElem; i++){
if(arr[i] == delValue){
//找到了要删除的元数
//将该元数的后面所有元数向前移动一个位置
for(int j=i; j<this.nElem; j++){
arr[j] =arr[j+1];
}
//这个别忘了,记录数组中元数个数的nElem要减1
this.nElem--;
}
}
}
//显示
public void display(){
for(int i=0; i<this.nElem; i++){
System.out.println("arr["+i+"]="+arr[i]);
}
}
}
测试类如下:
package utillity.array;
public class TestAdvancedArray {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
AdvancedArray arr = new AdvancedArray(10);
arr.insert(34);
arr.insert(29);
arr.insert(36);
arr.insert(99);
arr.insert(27);
arr.insert(65);
arr.insert(79);
arr.insert(83);
arr.insert(74);
System.out.println("-----测 AdvancedArray 试-----");
System.out.println("-----插 入 前-----");
arr.display();
// System.out.println("-----插 入 后------");
// arr.insert(101);
System.out.println("-----删 除------");
arr.delete(99);
System.out.println("-----删 除 后-------");
arr.display();
System.out.println("-----查 找-------");
arr.find(27);
}
}
分享到:
相关推荐
1.改进了迭代次数,精度一般可以达到 90多位(本人限制了数组的维数为100), 2.改进了反正切函数的算法。 自己编写了一个大数运算程序,建立了一个大数数据类型,可以类似于c++ int 一样定义数据,并封装了四则...
版本 1.3 相对于之前的 1.2 版本有了不少改进与增强,包括但不限于: - 注释的完善。 - 对象空间占用问题的优化。 - XMLHttpRequest 的封装。 - 效果插件 Effect.js 的加入,支持与 Rico 和 Scriptaculous 等库的...
1.改进了迭代次数,精度一般可以达到 90多位(本人限制了数组的维数为100), 2.改进了反正切函数的算法。 自己编写了一个大数运算程序,建立了一个大数数据类型,可以类似于c++ int 一样定义数据,并封装了四则...
1.3版本是其一个重要的里程碑,引入了许多改进和新功能。下面将详细介绍MooTools 1.3 Core和More API中的关键知识点。 ### 1. **MooTools Core** #### 1.1 **类与对象** MooTools的核心特性之一是其强大的类系统。...
接下来的代码段看起来是在解决一个线性系统,可能是通过改进的欧拉方法或者龙格-库塔方法来解常微分方程(ODE)。这部分代码涉及到的变量`U`, `V`, `detU`, `detV`可能与解微分方程的雅可比矩阵的行列式有关。 ```...
例如,1.2版本添加了对URL编码的改进,1.3增加了对ISO-8859-1的支持,1.4引入了线程安全的Base64编码器和解码器,而1.5开始支持Java 5的泛型。 6. **国际化与本地化**: - 随着版本的升级,Apache Commons Codec...
《坦克大战游戏的改进设计》是对经典坦克游戏的深度挖掘与创新,旨在提供更丰富的游戏体验和更高的可玩性。本文档将详细阐述改进设计的各个阶段,包括项目的背景、需求分析、游戏设计以及详细设计。 1.1 项目背景 ...
《PL/0编译程序的研究与改进》 PL/0是一种简化版的编程...通过这样的研究和改进,PL/0编译程序不仅能更全面地展示编译器的工作原理,还能提供一个更加丰富的编程环境,有助于学习者深化对编译技术的理解和实践能力。
1.10软件过程改进 142 专题八:知识产权和标准化知识 146 1 标准化的基本知识 146 1.1标准化的基本概念 146 1.2标准化原理: 147 1.3标准的分类 148 1.4标准的代号和编号 151 1.5国际标准和国外先进标准 154 1.6标准...
1.2什么是计算机语言 1.3C语言的发展及其特点 1.4最简单的C语言程序 1.4.1最简单的C语言程序举例 1.4.2C语言程序的结构 1.5运行C程序的步骤与方法 1.6程序设计的任务 习题 第2章:算法——程序的...
Newtonsoft.Json 1.3 版本相对于 1.2 版本可能进行了改进和增强,包括但不限于: 1. 错误处理和异常报告:提供更好的错误反馈机制,帮助开发者调试和修复问题。 2. 更多的 JSON 格式支持:可能增加了对 JSON 格式的...
C#的设计融合了多种语言的优点,并加以改进,使得它成为.NET框架的核心语言之一。 ### 1.1 Hello World 程序 “Hello World”程序通常是学习任何新编程语言的第一步,用于熟悉基本的语法结构。在C#中,一个简单的...
**1.2 排序算法** 直接插入排序的具体实现可以通过以下步骤进行: - 初始化时,将第一个元素视为已排序区域,其余元素视为未排序区域。 - 对于每一个未排序区域中的元素,从左至右逐一检查已排序区域中的元素。 - ...
2.4.3 三种基本结构和改进的流程图 28 2.4.4 用N-S 流程图表示算法 29 2.4.5 用伪代码表示算法 30 2.4.6 用计算机语言表示算法 31 2.5 结构化程序设计方法 31 3 数据类型、运算符与表达式 3.1 C语言的数据类型 32 ...
5.8 数组复制:创建数组的副本,避免对原数组的直接修改。 5.9 存储多维数据:介绍二维及多维数组的创建和操作。 5.10 数组排序:使用sort()对数组进行升序或降序排序。 5.11 自定义排序:覆盖sortOn()实现自定义的...
2.4.3 三种基本结构和改进的流程图 28 2.4.4 用N-S 流程图表示算法 29 2.4.5 用伪代码表示算法 30 2.4.6 用计算机语言表示算法 31 2.5 结构化程序设计方法 31 3 数据类型、运算符与表达式 3.1 C语言的数据类型 32 ...
jQuery 1.3版本在1.2的基础上进行了优化和增强,主要改进包括: 1. **性能提升**:1.3版本对内部代码进行了优化,提高了jQuery的选择器和DOM操作性能。 2. ** live() 方法**:引入了`live()`方法,实现了事件代理...
例如,`bsxfun` 函数允许用户对两个不同大小的数组执行逐元素操作。 #### 3. 高效编程技巧 **3.1 利用内置函数** 尽可能使用 MATLAB 内置的高效函数,而不是手动编写循环。例如,使用 `sum` 函数代替手动循环累加...
1.3 C语言的发展及其特点 1.4 最简单的C语言程序 1.4.1 最简单的C语言程序举例 1.4.2 C语言程序的结构 1.5 运行C程序的步骤与方法 1.6 程序设计的任务 习题 第2章 算法——程序的灵魂 2.1 什么是算法 2.2 简单的算法...