这次我对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.改进了迭代次数,精度一般可以达到 90多位(本人限制了数组的维数为100), 2.改进了反正切函数的算法。 自己编写了一个大数运算程序,建立了一个大数数据类型,可以类似于c++ int 一样定义数据,并封装了四则...
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章:算法——程序的...
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 ...
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 ...
1.3 C语言的发展及其特点 1.4 最简单的C语言程序 1.4.1 最简单的C语言程序举例 1.4.2 C语言程序的结构 1.5 运行C程序的步骤与方法 1.6 程序设计的任务 习题 第2章 算法——程序的灵魂 2.1 什么是算法 2.2 简单的算法...
1.2 当代最优秀的程序设计语言 2 1.3 C语言版本 2 1.4 C语言的特点 3 1.5 面向对象的程序设计语言 3 1.6 C和C++ 3 1.7 简单的C程序介绍 4 1.8 输入和输出函数 5 1.9 C源程序的结构特点 6 1.10 书写程序时应...
1.2 当代最优秀的程序设计语言 1.3 C语言版本 1.4 C语言的特点 1.5 面向对象的程序设计语言 1.6 C和C++ 1.7 简单的C程序介绍 1.8 输入和输出函数 1.9 C源程序的结构特点 1.10 书写程序时应遵循的规则 1.11 ...
1.2 当代最优秀的程序设计语言 1.3 C语言版本 1.4 C语言的特点 1.5 面向对象的程序设计语言 1.6 C和C++ 1.7 简单的C程序介绍 1.8 输入和输出函数 1.9 C源程序的结构特点 1.10 书写程序时应遵循的规则 1.11 ...
1.2 当代最优秀的程序设计语言 1.3 C语言版本 1.4 C语言的特点 1.5 面向对象的程序设计语言 1.6 C和C++ 1.7 简单的C程序介绍 1.8 输入和输出函数 1.9 C源程序的结构特点 1.10 书写程序时应遵循的规则 1.11 ...
1.2 当代最优秀的程序设计语言 2 1.3 C语言版本 2 1.4 C语言的特点 3 1.5 面向对象的程序设计语言 3 1.6 C和C++ 3 1.7 简单的C程序介绍 4 1.8 输入和输出函数 5 1.9 C源程序的结构特点 6 1.10 书写程序时应...
1.2 当代最优秀的程序设计语言 1.3 C语言版本 1.4 C语言的特点 1.5 面向对象的程序设计语言 1.6 C和C++ 1.7 简单的C程序介绍 1.8 输入和输出函数 1.9 C源程序的结构特点 1.10 书写程序时应遵循的规则 1.11 ...
1.2 什么是面向对象 1.2.1 C++程序并不一定是面向对象的 1.2.2 一个简单的面向对象程序示例 1.2.3 面向对象的软件更有优势 1.3 结构化设计与面向对象设计 1.3.1 ATM——结构化设计 1.3.2 采用面向对象方法的ATM——...
1.2 当代最优秀的程序设计语言 2 1.3 C语言版本 2 1.4 C语言的特点 3 1.5 面向对象的程序设计语言 3 1.6 C和C++ 3 1.7 简单的C程序介绍 4 1.8 输入和输出函数 5 1.9 C源程序的结构特点 6 1.10 书写程序时应遵循的...
此外,各章后面都提供了大量练习,有助于加强读者对相关内容的理解。 本书图文并茂,通俗易懂,真正做到寓教于乐,是一本难得的C++面向对象设计入门教材。 -----------------------------------------------------...
1.2 条件期望和条件方差 1.3 随机过程简介 1.4 Markov链 第2章 R介绍 2.1 R软件基本操作 2.2 R向量 2.3 矩阵与多维数组 2.4 因子 2.5 列表与数据框 2.6 输出输人 2.7 程序控制结构 2.8 R程序设计 2.9 图形 2.10 解...
1.2 当代最优秀的程序设计语言... 2 1.3 C语言版本... 2 1.4 C语言的特点... 3 1.5 面向对象的程序设计语言... 3 1.6 C和C++... 3 1.7 简单的C程序介绍... 4 1.8 输入和输出函数... 5 1.9 C源程序的...
1.2 数据抽象 38 1.2.1 使用抽象数据类型 38 1.2.2 抽象数据类型举例 45 1.2.3 抽象数据类型的实现 52 1.2.4 更多抽象数据类型的实现 55 1.2.5 数据类型的设计 60 1.3 背包、队列和栈 ...