1 package com.oracle.demo01;

2

3 public class MyArray {

4 //定义一个数组

5 private int [] intArray;

6 //定义数组的实际有效长度

7 private int elems;

8 //定义数组的最大长度

9 private int length;

10

11 //默认构造一个长度为50的数组

12 public MyArray(){

13 elems = 0;

14 length = 50;

15 intArray = new int[length];

16 }

17 //构造函数,初始化一个长度为length 的数组

18 public MyArray(int length){

19 elems = 0;

20 this.length = length;

21 intArray = new int[length];

22 }

23

24 //获取数组的有效长度

25 public int getSize(){

26 return elems;

27 }

28

29 /**

30 * 遍历显示元素

31 */

32 public void display(){

33 for(int i = 0 ; i < elems ; i++){

34 System.out.print(intArray[i]+" ");

35 }

36 System.out.println();

37 }

38

39 /**

40 * 添加元素

41 * @param value,假设操作人是不会添加重复元素的,如果有重复元素对于后面的操作都会有影响。

42 * @return添加成功返回true,添加的元素超过范围了返回false

43 */

44 public boolean add(int value){

45 if(elems == length){

46 return false;

47 }else{

48 intArray[elems] = value;

49 elems++;

50 }

51 return true;

52 }

53

54 /**

55 * 根据下标获取元素

56 * @param i

57 * @return查找下标值在数组下标有效范围内,返回下标所表示的元素

58 * 查找下标超出数组下标有效值,提示访问下标越界

59 */

60 public int get(int i){

61 if(i<0 || i>elems){

62 System.out.println("访问下标越界");

63 }

64 return intArray[i];

65 }

66 /**

67 * 查找元素

68 * @param searchValue

69 * @return查找的元素如果存在则返回下标值,如果不存在,返回 -1

70 */

71 public int find(int searchValue){

72 int i ;

73 for(i = 0 ; i < elems ;i++){

74 if(intArray[i] == searchValue){

75 break;

76 }

77 }

78 if(i == elems){

79 return -1;

80 }

81 return i;

82 }

83 /**

84 * 删除元素

85 * @param value

86 * @return如果要删除的值不存在,直接返回 false;否则返回true,删除成功

87 */

88 public boolean delete(int value){

89 int k = find(value);

90 if(k == -1){

91 return false;

92 }else{

93 if(k == elems-1){

94 elems--;

95 }else{

96 for(int i = k; i< elems-1 ; i++){

97 intArray[i] = intArray[i+1];

98

99 }

100 elems--;

101 }

102 return true;

103 }

104 }

105 /**

106 * 修改数据

107 * @param oldValue原值

108 * @param newValue新值

109 * @return修改成功返回true,修改失败返回false

110 */

111 public boolean modify(int oldValue,int newValue){

112 int i = find(oldValue);

113 if(i == -1){

114 System.out.println("需要修改的数据不存在");

115 return false;

116 }else{

117 intArray[i] = newValue;

118 return true;

119 }

120 }

121

122 }

java数组显示_java数组相关推荐

  1. java数组显示_Java 1.5中显示数组

    很长一段时间以来,Java编程人员都自己编写方法来打印数组的内容.这是因为JDK没有提供一种将数组转换为字符串值的简便方法.更糟糕的是,一个字符串数组总是从它的toString方法中返回如下信息: [ ...

  2. java 数组 反射_java数组的反射

    java数组的反射,有一个JAVA API类可以运用:java.lang.reflect.Array 具体应用: 1:判断一个对象是否是数组: int arr[] = {1,2,3}; Class c ...

  3. java数组解析_Java - 数组解析

    一.什么是数组 数组?什么是数组?在我印象中的数组是应该这样的:通过new关键字创建并组装他们,通过使用整形索引值访问它的元素,并且它的尺寸是不可变的! 但是这只是数组的最表面的东西!深一点?就是这样 ...

  4. Java数组参考_Java数组

    数组变量 VS 数组对象 先看一例子: int[] primitiveArray; //在栈中声明了一个引用变量,暂时还没指向任何对象 primitiveArray = new int[5]; //在 ...

  5. java 数组协变_java 数组协变

    标签: 在某些情况下,即使某个对象不是数组的基类型,我们也可以把它赋值给数组元素.这种属性叫做协变(covariance).在下面的情况下可以使用协变: 数组是引用类型数组. 在赋值的对象类型和数组基 ...

  6. java类型的数组初始化_java数组初始化详解

    介绍 学习Java的朋友想必对数组并不陌生,它需要使用之前对其进行初始化,这是因为数组是引用类型,声明数组只是声明一个引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使 ...

  7. java 数组成员_java 数组中含有

    <数据结构与抽象:Java语言描述(原书第4版)>一2.2.1 可变大小数组 本节书摘来华章计算机<数据结构与抽象:Java语言描述(原书第4版)>一书中的第2章 ,第2.2. ...

  8. java定义数组范围_Java数组的定义和使用

    为什么需要数组? 问题:我们要计算30个学生的平均分 如果没有数组,我们的代码是这样的 int score1 = 32; int score2 = 56; int score3 = 78; //--此 ...

  9. java 定义数组属性_Java数组的定义与使用

    一.数组概念 可以将多个同一数据类型的数据,存储到同一个容器中 1. 格式 数据类型[] 数组名=new 数据类型[元素个数] "数据类型"表示该数组中可以存放哪一类型的数据 &q ...

最新文章

  1. 8086汇编学习小记-王爽汇编语言实验12
  2. [ROBOT] python library 如何能获取到ROBOT框架里面的全局变量,例如${OUTPUT DIR}等
  3. 给老师的建议?????
  4. bootstrapt 表格自适应_一起聊B端设计 - 如何设计表格?
  5. Apollo自动驾驶入门课程第⑦讲 — 规划(上)
  6. MVVM架构~前台后台分离的思想与实践
  7. 前端动画 wow.js 效果
  8. windows 和linux 同步api对比
  9. 吴裕雄--天生自然 高等数学学习:微分方程的幂级数解法
  10. 作为曾经的 Web 开发“王者”,jQuery 的传奇怎么续写?
  11. linux环境编程apue和unp,UNIX高级环境编程:源码(apue)下载 编译和运行
  12. SM3算法的C++实现(代码)
  13. 用游戏外挂的方式修复有道云笔记的BUG
  14. Discuz!教程之论坛设置发帖时默认打开附加选项等功能
  15. 星巴克与阿里巴巴合作咖啡外卖
  16. java excel 导出数据文件格式无效
  17. Windows平台下使用 Rclone 挂载 OneDrive Google Drive 为本地硬盘
  18. 牛刀小用: 朱砂掌治内痔
  19. 【Vivado那些事】关于reset_project和reset_project -exclude ip使用
  20. 在Chrome中打印CSDN博客内容

热门文章

  1. java实习报告范文
  2. zcmu-1957: 乌鸦坐飞机
  3. HTML登录注册页面简单实现
  4. php ses 发送邮件,Amazon SES – 通过PHP sdk发送HTML邮件
  5. python人机猜拳游戏代码_python 实现人和电脑猜拳的示例代码
  6. 进入人工智能行业有哪些方法?
  7. 通达信 c java,通达信的c
  8. 【GANs】C-RNN-GAN
  9. configure配置脚本的使用
  10. Mstar Mac Phy 驱动学习