java里怎么向一个空数组添加元素

Python011

java里怎么向一个空数组添加元素,第1张

定义一个数组\x0d\x0aString[] s = new String[3]\x0d\x0a赋值\x0d\x0as[0] = "1"\x0d\x0as[1] = "asfa"\x0d\x0as[2] = "5555"\x0d\x0a数组长度是固定的,不能增加或删除。\x0d\x0a例1:\x0d\x0a给数组开辟了十个空间,但没有给这十个空间赋值\x0d\x0aint num1[] = new int[10]\x0d\x0a给这十个空间开始赋值\x0d\x0anum1[0]=1\x0d\x0anum2[1]=2\x0d\x0a.......\x0d\x0a例2:\x0d\x0a没有给数组开辟空间,或者说 定义了一个没有空间的数组\x0d\x0aint num2[] = new int[0]//无法添加元素,没有空间\x0d\x0anum2[] = new int[10]//重新给他开辟10个空间,开始添加元素..\x0d\x0anum2[0]=1

public class ListInsert {

public static long[] insert(long[] arr,int i,long l){

//新建数组,对原数组扩容

long[] arr1 = new long[arr.length+1]

//将原数组数据赋值给新数组

for(int j = 0j<arr.lengthj++){

arr1[j] = arr[j]

}

//将大于i的数据向后移动一位

for(int j = arr1.length-2j>ij--){

arr1[j+1] = arr1[j]

}

//赋值到i位置

arr1[i+1] = l

return arr1

}

//测试

public static void main(String[] args){

long[] arr = {12,25,11,36,14}

long[] arr1 = insert(arr, 2, 100)

for (long l : arr1) {

System.out.print(l+" ")

}

}

数组的扩容方式:arr = Arrays.copyOf(arr, arr.length+1)

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等

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

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

case 4:// 添加水果

int pos = -1

// 先找到一个空位

for (int i = 0 i < fruit.length i++) {

if (fruit[i] == null) {

pos = i

}

}

// 如果 pos != -1 说明有空位,否则没有位置添加新水果

if (pos != -1) {

System.out.println("请输入要添加的水果:")

String name = input.next()

fruit[pos] = name

} else {

System.out.println("没有位置添加水果!")

}

break