
代码如下:
public class Main {
public static void main(String[] args) {
int[] a = new int[]{92, 87, 2, 3, 4, 6, 7, 8, 22, 9, 12, 16, 20, 66, 23}
findNum(a, 6)
findNum(a, 300)
}
private static void findNum(int[] a, int num) {
for (int i = 0i <a.lengthi++) {
if (a[i] == num) {
System.out.println("在数组中找到了" + num + ",位于数组的" + i + "位置")
return
}
}
System.out.println("数组中没有" + num + "这个数字")
}
}
运行结果:
您好, 删除delete(a,4)删除index=4的数据,即a[4]=4 删除批量删除delete(a,2)删除所有a[i]=2的数据,即a[2] 、a[6]、 a[7]删除
原题就这么写的,两个方法名一样,参数一样,功能却不一样。
class TestArray{
public static void main(String[]args){
int[] a ={0,1,2,3,4,5,2,2,1}
print(add(a,9,2))
print(delete(a,3))
select(a,2)
print(change(a,2,98))
print(deleteAll(a,2))
}
//增
public static int[] add(int[] array,int num,int index){
int[] result=new int[array.length+1]
for(int i=0,j=0i<array.lengthi++,j++){
if(j==index){
result[j]=num
i--
}else{
result[j]=array[i]
}
}
return result
}
//删
public static int[] delete(int[] array,int index){
int[] result=new int[array.length-1]
for(int i=0,j=0i<array.lengthi++,j++){
if(i==index){
j--
}else{
result[j]=array[i]
}
}
return result
}
//查
public static void select(int[] array,int num){
int count=0
for(int i=0i<array.lengthi++){
if(array[i]==num){
System.out.println("index"+i+"的值为"+num)
count++
}
}
if(count==0)
System.out.println("找不到")
}
//改
public static int[] change(int[] array,int index,int num){
array[index]=num
return array
}
//批量删除
public static int[] deleteAll(int[] array,int num){
int j=0
for(int i=0i<array.lengthi++){
if(array[i]==num){
j++
}
}
int[] result=new int[array.length-j]
j=0
for(int i=0i<array.lengthi++){
if(array[i]!=num){
result[j++]=array[i]
}
}
return result
}
//打印数组
public static void print(int[] array){
for(int i:array){
System.out.print(i+" ")
}
System.out.println()
}
}
第一题:int[] arr={52,26,97,19,66,8,49}
void arrayAdd()//将200插入26之后(第三位)
{
//通过System.arraycopy方法实现数组的复制
int[] arr2=new int[arr.length+1]
System.arraycopy(arr,0,arr2,0,2)
arr2[2]=200
System.arraycopy(arr,2,arr2,3,5)
//输出结果
for(int i=0i<arr2.length++i)
{
System.out.println(arr2[i])
}
}
第二题和第三题用这个方法就可以了:
int[] arr3={12,34,97,154,64,85,445}
/**删除数组的指定内容
* @param index要删除的下标(要删除97则传入3)
* @param arr 要删除的数组
*/
void arrarRemove(int index,int[] arr)
{
int[] array=new int[arr.length-1]
System.arraycopy(arr,0,array,0,index-1)
System.arraycopy(arr,index,array,index-1,arr.length-index)
// 输出结果
for(int i=0i<array.length++i)
{
System.out.println(array[i])
}
}
没耽误你吧?但也你能采纳。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)