刚刚学习Java不到一个星期,本来是搞C++的,没事学习Java,将来可以更好的想Android方向发展一下。

现在正处于磨基础的阶段,对与每一个新手来书,最痛苦的莫过于此了。

写了一个冒泡排序,用C++的思想写,没有任何错误,但是改成Java就出现如下错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7

at Range.paixu(c6_8.java:11)

at c6_8.main(c6_8.java:29)

貌似自己没有遇到过,数组越界,C++都没有问题,怎么这里就有问题了。把自己的代码也贴出来吧。代码写的比较粗糙,没任何注释。

class Range

{

void paixu(int arr[])

{

for (int i = 0; i <= arr.length - 1; i++)

{

int temp;

for (int j = 0; j <= arr.length - i; j++)

{

if (arr[j] > arr[j + 1])

{

temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

}

}

}

public class c6_8

{

public static void main(String []args)

{

int arr[] = {2, 5, 1, 32, 21, 3, 8};

Range r = new Range();

r.paixu(arr);

for (int j = 0; j < arr.length; j++)

{

System.out.print("  " + arr[j]);

}

}

}

对于一个新手来说,改这个有点难度。最后还是想到了,Java的下标越界检查啊。我的天啊。

检查了半天。不容易,该死的Java,可恨又可爱啊!

java数组下标越界处理_可恶的Java数组下标越界检查相关推荐

  1. java原始类型排序_海牛部落 java 系列教程:(5)数组和排序

    1 数组 数组是编程语言中最常见的的数据结构,其本身是个引用类型数据. java数组要求所有的数组元素具有相同的数据类型. 一旦数组的初始化完成,数组在内存中所占的空间将被固定下来,数组的长度将不可变 ...

  2. java多线程实现归并排序_利用多线程对数组进行归并排序

    多线程处理归并排序的方法一般为: 假设有n个线程同步处理,就将数组等分成n份,每个线程处理一份,再对最后n个有序数组进行归并. 为了使对整个算法具有可扩展性,即线程数n可以自定义,笔者将线程类.处理数 ...

  3. java 字符数组与字符串_用于字符串和数组的5种简单有效的Java技术

    java 字符数组与字符串 Java通常会排在前五种最流行的编程语言中,因此可以理解. 它是一种通用语言,非常容易学习,因为它是一种高级语言,并且可以满足许多用例. 由于这些原因,Java是一门很棒的 ...

  4. [转载] java中对数组进行排序_如何在Java中对数组排序

    参考链接: Java中main()的有效变体 java中对数组进行排序 Java Array is like a container that can hold a fixed number of t ...

  5. java中对数组进行排序_如何在Java中对数组排序

    java中对数组进行排序 Java Array is like a container that can hold a fixed number of the same type of items, ...

  6. java判断二维数组是否空_判断二维数组是否为空

    在Java程序设计里面,相信大部分人都知道如何判断一个一维数组是否为空,示例如下: public int primeNumberCount(int[] array){ if(array==null|| ...

  7. java动态数组的实现_动手编写—动态数组(Java实现)

    目录 数组基础回顾 自定义动态数组 动态数组的设计 抽象父类接口设计 抽象父类设计 动态数组之DynamicArray 补充数组缩容 全局的关系图 声明 数组基础回顾 1.数组是一种常见的数据结构,用 ...

  8. java程序员封闭_变态级JAVA程序员面试32问(转)

    第一,谈谈final, finally, finalize的区别. final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 ...

  9. java 内部类 加载_举例讲解Java的内部类与类的加载器

    内部类 class A { //Inner1 要在 A 初始化后 才能使用,即要被A的对象所调用 class Inner1 { int k = 0; // static int j = 0; //A加 ...

最新文章

  1. python基础数据实例_Python基本数据类型及实例详解
  2. 基于ESP32模块利用检测线圈检测车模停止时间,室内视觉AI裁判系统
  3. 计算机网络实验三:网络层和链路层网络协议分析
  4. IDEA生成toString方法的快捷键
  5. 2021开封高考个人成绩查询,开封召开2021届高三二模成绩分析会
  6. 使用Jedis出现Connection refused的解决方案
  7. applet实现大文件ftp上传(一)
  8. IEnumerable
  9. 如何在从事前端两年,得到20+K的offer
  10. 什么是 “动态规划” , 用两个经典问题举例。
  11. Java 多线程详解(四)------生产者和消费者
  12. Retrofit的简单封装
  13. JAVA计算机毕业设计钢材商贸公司网络购销管理系统Mybatis+系统+数据库+调试部署
  14. 硬件工程师 VS 软件工程师
  15. cobar mysql_mysql分布式中间件cobar
  16. mysql中的eeplace,mysql必知必会笔记
  17. 想做赴日软件工程师,为公为私
  18. 【活动更新】第一届Openbravo社区早餐会将与5/28在上海举办
  19. vector的小用法
  20. leetcode714-买卖股票的最佳时机含手续费

热门文章

  1. 冗余系统研究:智能汽车的最后安全防线
  2. java定义语法解析器,java开发工具intellij idea使用教程:定义语法和解析器.pdf
  3. linux安装weblogic10.3.6
  4. iframe X-Frame-Options
  5. Refused to display in a frame because it set ‘X-Frame-Options‘ to ‘sameorigin‘.
  6. 全息投影马戏团,好有爱的科技呀~
  7. 高性能 低功耗Cortex-A53核心板 | i.MX8M Mini
  8. ADC 信号调理电路设计——必要措施、实测验证和应用说明
  9. 为什么要写单元测试?如何写单元测试?
  10. DeFi+NFT出圈姿势盘点,NFT借贷等应用领域值得关注