你寫的這個太混亂,邏輯也亂.我就不給你改代碼了,直接提供思路.
公司主營業務:成都網站建設、做網站、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯公司是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯公司推出漢臺免費做網站回饋大家。
實現刪除功能,定義數組的時候數組長度應該為總共村存儲的DVD數量+1.例如存儲6張,長度為7.
在刪除之前先輸入DVD名稱進行循環查找,未賦值的數組成員值為null,當查找到null的時候將下標賦值給一個變量index.并且break.
進行判斷.如果index == 6.說明遍歷數組以后沒任何一個存儲的DVD可以與之對應,那么就提示用戶.刪除的DVD不存在.如果不等于,判斷是否已借出.如果借出,提示用戶DVD已借出無法刪除.否則進入4.
執行循環,將從index開始的所有DVD信息值全部往前覆蓋.
for(int i = index;idvd.name.length - 1;i++){ ?
dvd[i].name = dvd[i + 1].name;
dvd[i].state = dvd[i + 1].state;
dvd[i].date = dvd[i + 1].date;
}
希望對你有所幫助,歡迎追問.
代碼如下:
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 = 0; i a.length; i++) {
if (a[i] == num) {
System.out.println("在數組中找到了" + num + ",位于數組的" + i + "位置");
return;
}
}
System.out.println("數組中沒有" + num + "這個數字");
}
}
運行結果:
第一題:
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=0;iarr2.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=0;iarray.length;++i)
{
System.out.println(array[i]);
}
}
沒耽誤你吧?但也你能采納。
public static int[] insert(int[] a,int value,int index){
int aindex = a.length;
int[]b = new int[aindex+1];
for(int j=aindex;j=0;j--){
if(jindex){
b[j]=a[j-1];
}else if(index==j){
b[j]=value;
}else{
b[j]=a[j];
}
}
return b;
}//插入數據
其他雷同 刪除思路為 int[] b的長度是a.length-1;
批量刪除的思路為先計算a[i] = value的數量 然后 Int[] b的長度為a[]的長度減去該數量 做循環,判斷。。記得從尾部開始定義數值。
java數組插入實現思路:
可以把某個整數插入到整型數組的特定位置,數組中原有元素向后移動
刪除方法:能夠從整形數組中特定位置刪除掉一個元素,數組中原有元素向前移動
程序代碼:
InsertDelete.java:
package p1;
import com.kettas.common.*;
import java.util.*;
public class InsertDelete
{
static int[] a={4,2,7,3,5};//初始數組
static int sum=5;//數組的有效位數
public static void main(String[] args)
{??
System.out.println("初始數組為:");
output();
while(true)
{
System.out.println("操作:1:插入;2:刪除;3:退出");
int option=SystemIn.readInt();
if(option==1)
{
System.out.println("請輸入插入的位置:");
int pos=SystemIn.readInt();
System.out.println("請輸入要插入的數:");
int num=SystemIn.readInt();
add(pos,num);
System.out.println("插入后的數組為:");
output();
}
else if(option==2)
{
System.out.println("請輸入要刪除的數的位置:");
int pos1=SystemIn.readInt();
move(pos1);
System.out.println("刪除后的數組為:");
output();
}
else?
break;
}
}
static void add(int pos,int num)
{??//將num插入到數組的第pos下標中,其他元素向后移動
if(sum == a.length)
{?????// 擴充數組空間
a=Arrays.copyOf(a,a.length*2);?
}
for(int i=sum;ipos;i--)
{
a[i]=a[i-1];?
}
a[pos]=num;
sum++;??//有效位數加1
}
static void move(int pos)
{??//刪除數組中下標為pos的元素
sum--;??//有效位數減1
for(int i=pos;isum;i++)?
{
a[i]=a[i+1];
}??
}
static void output()
{???// 遍歷輸出數組中的元素
for(int i=0;isum;i++)
{
System.out.print(a[i]+" ");
}
System.out.println();
}
}
測試結果:
當前文章:java數組增刪代碼,java 新建數組代碼
文章出自:http://vcdvsql.cn/article16/dsiijgg.html
成都網站建設公司_創新互聯,為您提供微信小程序、靜態網站、網站營銷、自適應網站、動態網站、網站收錄
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯