java 数组练习

2025-03-04 11:15:15
推荐回答(1个)
回答1:

第1题 遍历就是用 for循环呢 这里略了
public static void main(String[] args) {
String[] des = {"1","2", "3", "4", "0", "9", "5", "5", "6", "7"};

System.out.println(Arrays.toString(insertEle(des, "yu", 5)));
}

//---------------查找
public String findEle(String[] sourc, String des){
List seles = new ArrayList();
String showMes ="";
if (des != null){
for (int i = 0; i < sourc.length; i++) {
if(des.equals(sourc[i])){
seles.add(i);
}
}
}else{
showMes = "请给定 目标元素。";
return showMes;
}
if (seles.size() == 0){
showMes = "没有找到 指定元素";
}else{
showMes = "找到 指定元素的位置: 是在 ";
for (Integer index : seles) {
showMes = showMes + (index + 1)+ "、 ";
}

}

return showMes;
}

/**
* ---------------- 删除指定元素
*/
public String[] DelEle(String[] sour, String des){
if (sour == null){
return null;
}else if( des == null) {
return sour;
}
List seles = new ArrayList();

for (int i = 0; i < sour.length; i++) {
if(des.equals(sour[i])){
seles.add(i);
}
}
if (seles.size() != 0){
String[] backEnd = new String[(sour.length - seles.size())];
int count = 0;
for (int i = 0; i < sour.length; i++) {
if (des.equals(sour[i])){
continue;
}else{
backEnd[count] = sour[i];
count++;
}
}
return backEnd;
}else {
return sour;
}

}

// ------------------插入
public static String[] insertEle(String[] sour, String des, int index){
if (sour == null) {
return null;
}else if(des == null || index < 0) {
return sour;
}
String[] desArr = new String[sour.length + 1];
int count = 0;
for (int i = 0; i < sour.length; i++) {
if ((i+1) == index){
desArr[count] = des;
count++;
}
desArr[count] = sour[i];
count++;
}

return desArr;
}

第2题

public static int[] serialize(int[][] source){
List ends= new ArrayList();
int count=0;
for (int i = 0; i < source.length; i++) {
int[] yu = source[i];
for (int j=0; j < yu.length; j++) {
ends.add(yu[j]);
count++;
}
}

Object[] end = ends.toArray();
int[] des = new int[end.length];
for (int i = 0; i < end.length; i++) {
des[i] = Integer.valueOf(end[i].toString());
}
return des;
}

强调: 第2题 包括 第1题的 查找、删除方法 都额外用到了 “集合”的API ,因为题中的不确定因素(数组的长度等)