Exception in thread “main“ java.lang.ArrayIndexOutOfBoundsException(数组创建问题)

数组在Java中使用还是比较多的,通过索引去数组中寻值,也可以通过数组索引去赋值

问题描述:

我们在直接使用未被new的数组时就会出现这种情况,

 这边简单创建一个运行类

public class a {public static void main(String[] args) {int[] a={};for(int i=0;i<100;i++){a[i]=i;System.out.println(a[i]);}System.out.println("a:"+a);}
}

运行之后,就会出现以上错误

问题分析:

可以看,我在这边是未对数组a就行new的,只是赋值,所以编辑器默认我是这么用的,因而它不会报错。但是当我们去运行的时候,就会出现数组索引越界问题。因为我并没有声明数组的范围,或者说长度。它是默认为0的。这也是为什么我们使用索引赋值会出现问题的原因。

注:数组必须声明长度才能使用,或者赋值(其实赋值也是声明长度了)

如果需要一对一关系可以使用Map来解决,它不用声明长度,采用键值对来存储

解决方法:

声明数组长度或复制

声明长度:

import java.util.ArrayList;
import java.util.List;public class a {public static void main(String[] args) {int[] a=new int[10];for(int i=0;i<a.length;i++){a[i]=i;}for (int b:a){System.out.println(b);}}
}

 另外赋值,我在Java声明数组的三种方法_java声明一个数组-CSDN博客中写过了

小记:

我这边简单说一下我为什么写这篇,最近准备找实习,做笔试的时候遇到这个问题,运行半天都是出错,说到底还是自己基础不太牢靠,或者说之前学的都忘了。还是太长时间不用数组了。还亏自己之前写过一个Java数组创建的三种方法【苦笑】,这边就简单记一下,以慰藉自己那两个笔试(肯定G了)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/343017.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5G前装搭载率即将迈过10%大关,车载通讯进入多层次增长通道

对于智能化来说&#xff0c;车载通讯性能的提升&#xff0c;对于相关功能的用户体验优化、进一步减少通讯时延以及打开应用新空间&#xff0c;至关重要。 目前&#xff0c;2G/3G正在进入运营商逐步关闭运营的阶段&#xff0c;4G依然是主力&#xff0c;但5G也在迎来新的增长机会…

强化学习应用(一):基于Q-learning的无人机物流路径规划研究(提供Python代码)

一、Q-learning简介 Q-learning是一种强化学习算法&#xff0c;用于解决基于马尔可夫决策过程&#xff08;MDP&#xff09;的问题。它通过学习一个价值函数来指导智能体在环境中做出决策&#xff0c;以最大化累积奖励。 Q-learning算法的核心思想是通过不断更新一个称为Q值的…

RflySim | 定点位置控制器设计实验二

基础实验 1.复现四旋翼Simulink仿真&#xff0c;分析控制作用在obxb轴和obyb轴的解耦。 2.对系统进行扫频以绘制Bode图&#xff0c;分析闭环位置控制系统稳定裕度。 3.完成硬件在环仿真。 本实验对应demo文件对于RflySim v3.0以下版本地址为&#xff1a;*\PX4PSP\RflySimAP…

【LeetCode每日一题】2085. 统计出现过一次的公共字符串(哈希表)

2024-1-12 文章目录 [2085. 统计出现过一次的公共字符串](https://leetcode.cn/problems/count-common-words-with-one-occurrence/)思路&#xff1a;哈希表计算 2085. 统计出现过一次的公共字符串 思路&#xff1a;哈希表计算 1.用两个哈希表分别统计word1和word2中字符出现的…

gcc/g++工具详解

目录 一、安装gcc/g 二、背景知识 三、相关选项 四、gcc如何工作 1.预处理 2.编译 3.汇编 4.链接 5.函数库的概念 6.动静态库 一、安装gcc/g gcc/g -v : 用来查看当前你使用的gcc/g版本 因为我的gcc/g是升级过的所以版本更高&#xff0c;如果你用的是centos7.6的话…

PyCharm连接服务器(利用PyCharm实现远程开发)

利用PyCharm实现远程开发 注&#xff1a;该功能只有在PyCharm专业版下才可以使用&#xff0c;并且必须是官方的正版许可&#xff0c;破解版的是不可以使用的&#xff01;&#xff01;&#xff01;可以通过免费教育许可申请使用权限&#xff08;申请流程&#xff09;。 pycharm…

使用C语言调用 liblapack.a 的使用方法及其原理探析

1&#xff0c; 使用方法 1.1 源代码 #include <stdio.h> //#include <lapack/lapacke.h> extern void dgesv_(int*m, int* n, double*A, int*k, int*IP, double*B, int*j, int*info);#define M 2 #define N 2int main() {int i, j, nN, mM;int info, IPIV[N];doub…

x-cmd pkg | busybox - 嵌入式 Linux 的瑞士军刀

目录 简介首次用户功能特点竞品和相关作品 进一步阅读 简介 busybox 是一个开源的轻量级工具集合&#xff0c;集成了一批最常用 Unix 工具命令&#xff0c;只需要几 MB 大小就能覆盖绝大多数用户在 Linux 的使用&#xff0c;能在多款 POSIX 环境的操作系统&#xff08;如 Linu…

大数据实时抓取软件:Maxwell学习网站的高效框架!

介绍&#xff1a;Maxwell是由美国Zendesk开源的&#xff0c;使用Java编写的MySQL实时抓取软件。它能够实时读取MySQL的二进制日志&#xff08;Binlog&#xff09;&#xff0c;并将这些信息生成为JSON格式的消息。进一步地&#xff0c;Maxwell将这些消息作为生产者发送给Kafka、…

腾讯云COS桶文件上传下载工具类

1&#xff0c;申请key和密钥 2&#xff0c;引入依赖 <dependency><groupId>com.qcloud</groupId><artifactId>cos_api</artifactId><version>5.6.24</version></dependency>3&#xff0c;工具类 package com.example.activi…

python包管理工具:pipenv的基本使用

很多语言都提供了环境隔离的支持&#xff0c;例如nodejs的node_module&#xff0c;golang的go mod&#xff0c;python也有virtualenv和pyvenv等机制。 为了建立依赖快照&#xff0c;通常会用pip freeze > requirements.txt 命令生成一个requirements.txt文件&#xff0c;在…

手敲Mybatis(16章)-一级缓存功能实现

1.实现目的 这一节的目的主要是实现SqlSession级别的缓存&#xff0c;也就是一级缓存&#xff0c;首先看下图一&#xff0c;用户可以通过设置来进行是否开启一级缓存&#xff0c;不设置的化默认开启一级缓存&#xff0c;localCacheScopeSESSION为要设置一级缓存&#xff0c;lo…