我需要一个全局变量,是个数组,然后我在构造方法里面输入了一个整型数k,这个k是数组的大小也就说int i[k],
但是我在使用的时候报错,ArrayIndexOutOfBoundsException
求大神帮助啊
5条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
swiftlinlei 2017-06-25 10:20最佳回答 专家已采纳首先,数组初始化有静态初始化,例如:int[] arr = {1,2,3,4};或者开辟空间初始化int[] arrr = new int[5];数组不支持动态初始化。
其次,ArrayIndexOutOfBoundsException是数组下标越界的意思,就是如果开辟一个数组int arr = new int[3],
那么,这个数组就只能存放三个数值,arr[0]、arr[1]、arr[2]这三个,且无法动态增加,当读取arr[3]的时候,就会报ArrayIndexOutOfBoundsException。
所以,数组是大小固定的,使用时必须小于定义的数组大小。而集合List类可以解决动态添加而不用担心越界。采纳该答案 已采纳该答案 专家已采纳评论解决 无用打赏举报微信扫一扫
分享评论登录 后可回复...
查看更多回答(4条)
报告相同问题?
提交
相关推荐 更多相似问题
- 2017-06-25 09:13回答 5 已采纳 首先,数组初始化有静态初始化,例如:int[] arr = {1,2,3,4};或者开辟空间初始化int[] arrr = new int[5];数组不支持动态初始化。 其次,ArrayIndexO
- 2016-12-02 11:00回答 3 已采纳 1.首先,size这里的含义是每个目录的大小,这个getSize()方法返回的就是每个目录的大小,显然是每个目录一个变量是正确的,使用全局的变量 实际上加了好多遍。自己想想,应该不难想明白。
- 2016-04-15 05:20回答 8 已采纳 首先,类加载的时候就会初始化静态变量,方法块,再者,nextint是线程阻塞方法(好像是这个名词吧,反正就是若得不到你的值就不往下执行),所以main中的输出语句没执行,
- 2021-02-12 09:55weixin_39614561的博客 “java中全局变量应该放哪儿?...3、JAVA中不应该有所谓全局变量的概念,全局变量严重影响了封装和模块化,所以如果你的程序中需要所谓的全局变量,那一定是你对程序的设计出了问题。4、那JAVA提供FINALSTAT...
- 2021-02-27 19:11荷兰苏西的博客 看一个python写的java,居然写出全局变量了。如果熟练熟悉py oop也能够知道,类里面是没有全局变量的。类里面的变量就分三种 类属性 实例属性 局部变量 ,类属性 也可以叫静态属性 静态变量 ,实例属性也可以成员...
- 2021-03-18 08:12正哥一号的博客 在网上查了不少的资料,得到一点点体会:首先,java中是没有全局变量这个概念的,java程序中不能像C++那样在类外定义全局变量,因为JAVA当初出现的初衷就是为了安全性和跨平台性,所以去掉了类似C、C++中的全局变量...
- 2016-12-03 11:16回答 3 已采纳 如果你使用成员变量,那么你就不要返回值,因为每次都将获得的文件大小累加到成员变量size上了。但很显然你使用成员变量的同时又返回了值。 比方说: 第一次查找到一个文件,大小是 100 byte,s
- 2016-08-29 09:15回答 4 已采纳 全局变量是可以改变的,但是你确定userurl.getText().toString() 有内容吗?可以打印出来看看
- 2017-04-21 13:35回答 2 已采纳 放在session里面
- 2021-03-06 22:03搁浅的鲎的博客 2018-06-07 回答在一个全局类里面定义公共静态变量publicclassglobal{publicstaticintabc=0;publicstaticintdef=0;}------解决方案--------------------/***title:global*description:定义系统中使用的常量*...
- 2021-04-14 10:43weixin_39630880的博客 Java和C、C++对于变量声明、参数传递、操作符、流控制等,Java使用了和C、C++相同的传统,使得熟悉C、C++的程序员能很方便地进行编程。同时,Java为了实现其简单、鲁棒、安全等特性,也摒弃了C和C++中许多不合理的...
- 2016-04-25 13:19Felix-lxd的博客 JAVA全局变量(或称成员变量)可分两种,一种是静态变量,另一种是实例变量,即在类体中定义的变量,有三点得注意: 一、成员变量不能在类体中先声明(定义)后赋值,但静态变量可以先在类体中声明,然后在方法中...
- 2016-02-24 00:32回答 3 已采纳 把数组shuzu定义放到main函数外面,才是全局数组。 头文件的声明保持不变。 extern 声明该变量是外部或本文件的全局变量。 ``` #include #include"dec
- 2017-10-08 08:27回答 3 已采纳 看你用的是什么编程语言,c++的静态变量和java的静态变量根本不是一回事。 如果java用静态变量,属于某个类,那么除非你代码中有调用,否则这个类一直不会初始化。 你代码中修改全局变量,又会引起
- 2020-11-10 23:27回答 3 已采纳 按被声明的位置划分: •成员变量:方法外部,类的内部定义的变量,系统默认赋 初始值。 作用域:所在类内可用 •局部变量:
- 2021-02-12 09:55李禾子呀的博客 展开全部在一个全局类里面e68a84e8a2ad62616964757a686964616f31333361313837定义公共静态变量publicclassGlobal{publicstaticintabc=0;publicstaticintdef=0;}------解决方案--------------------/***Title:Global*...
- 2021-03-06 06:00王禹效 Legolas的博客 全局变量是编程术语中的一种,源自于变量之分。全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。局部变量(Local variables):在方法内部(包括main()方法...
- 2021-03-06 23:37苏鲁定的博客 全局变量就是不管你在哪里,都能够直接引用的变量,还不用担心各种问题。每个语言都有自己的全局变量,我想!一般地,面向过程的语言当中,可能就是一个声明在最前面的变量,后面的代码直接引用,就成了全局变量!...
- 2016-01-26 09:08回答 4 已采纳 1、成员变量本身无论是基本类型或对象(引用)类型,肯定是存在堆中的; 2、方法的参数本身无论是基本类型或对象(引用)类型,肯定是存在栈中的。 这里面有个基本的理念,就是如果方法的参数保存在堆中
- 2019-02-27 19:20莫迟疑的博客 如果非静态变量在声明的位置没有初始化,则编译器为基本类型数据赋值0,对象引用赋值为null。 最后,是调用构造器初始化。 下面通过代码并结合继承详细解释: class Insect { private int m = printInit("...
- 没有解决我的问题, 去提问