java给数组添加一个元素的方法

java给数组添加一个元素的方法,第1张

数组转化为集合
list = ArraysasList(array);
集合中添加元素
listadd(index, xxx);
又将集合转化为数组
listtoArray(newArray);

对啊, 本身这个数组实例化的时候就已经指定了它的长度, 你只能修改数组里的元素, 不能再实例化以后对其长度进行修改, 当然你可以在声明数组不实例化String a[];然后确定你所有元素后进行实例化a = new String[长度]最后把元素添加上

静态声明:


int[] a = {1,2,3};


动态声明:
int[] b = new int[3];

b[0] = 1;

b[1] = 2;

b[2] = 3;

如果你说的追加值是动态数组的赋值的话,只要给定下标赋值就行了,但如果你的意思是追加一个元素,就需要去复制数组,增加长度

int[] ary={1,2,3};

ary=ArrayscopyOf(ary, arylength+1);

ary[arylength-1]=4;

参考资料

java怎么给int数组加一个值?百度知道[引用时间2018-1-9]

case 4的代码有些逻辑问题,其实已经添加成功了,只不过你对 fruit 进行循环,导致循环了5次,每次循环都要添加一次。

正确的做法是,先找出空位置,记录下这个空位置的索引,然后再添加,更改后的 case 4 如下代码:

case 4:// 添加水果
int pos = -1;
// 先找到一个空位
for (int i = 0; i < fruitlength; i++) {
if (fruit[i] == null) {
pos = i;
}
}
// 如果 pos != -1 说明有空位,否则没有位置添加新水果
if (pos != -1) {

Systemoutprintln("请输入要添加的水果:");
String name = inputnext();
fruit[pos] = name;

} else {
Systemoutprintln("没有位置添加水果!");
}
break;

创建数组对象:int
a
=
new
int[3]
这里new指定三个 *** 作:在堆区为数组分配空间;为数组每个元素附默认值;返回数组对象的引用。
数组对象一旦创建好了就不能改变其长度,new *** 作必须指定数组长度。数组长度可以为0表示无元素,直接初始化不能指定长度,例如:int
a
=
{1,2,3}

参考例子:
public class shuzucharu1 {
public static void main(String args[]){
int[] P={1,2,2,47,568,86};
int[] SB=new int[Plength+1];//SB的数组长度为7
int SB1=9;
SB[SBlength-1]=SB1;//SB数组中下表为6的时候数值为9
for(int i=0;i<Plength;i++){
SB[i]=P[i];
Systemoutprintln(SB[i]);
}
Systemoutprintln(SB[SBlength-1]);
}
}//先用复制算法把P数组中的6个数复制给SB,因为SB数组的长度为7,第七个数也就是下标6,直接在循环外输出就可以了。

String[] abc = {"123", "234", "345"};

Long[] num = new Long[abclength];

for (int idx = 0; idx < abclength; idx++) {

num[idx] = LongparseLong(abc[idx]);

}

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。

由于C++所具有的优势,该项目组的研究人员首先考虑采用C++来编写程序。但对于硬件资源极其匮乏的单片式系统来说,C++程序过于复杂和庞大。另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。为了解决困难,他们首先着眼于语言的开发,假设了一种结构简单、符合嵌入式应用需要的硬件平台体系结构并为其制定了相应的规范,其中就定义了这种硬件平台的二进制机器码指令系统(即后来成为“字节码”的指令系统),以待语言开发成功后,能有半导体芯片生产商开发和生产这种硬件平台。对于新语言的设计,Sun公司研发人员并没有开发一种全新的语言,而是根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。

由于在开发Oak语言时,尚且不存在运行字节码的硬件平台,所以为了在开发时可以对这种语言进行实验研究,他们就在已有的硬件和软件平台基础上,按照自己所指定的规范,用软件建设了一个运行平台,整个系统除了比C++更加简单之外,没有什么大的区别。1992年的夏天,当Oak语言开发成功后,研究者们向硬件生产商进行演示了Green *** 作系统、Oak的程序设计语言、类库和其硬件,以说服他们使用Oak语言生产硬件芯片,但是,硬件生产商并未对此产生极大的热情。因为他们认为,在所有人对Oak语言还一无所知的情况下,就生产硬件产品的风险实在太大了,所以Oak语言也就因为缺乏硬件的支持而无法进入市场,从而被搁置了下来。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13384235.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存