Java问题不懂,求大神解析,问题如下:
publicclassChap591{/***@paramargs*/staticintw=5;publicstaticvoidmain(Stringargs[]){in...
public class Chap591{
/**
* @param args
*/
static int w = 5;
public static void main(String args[]){
int[] a={1,3,5,2,7};
int n=3;
delete(a,n);
output(a);
insert(a,n);
output(a);
}
public static int[] expand(int[] array){
int[] newArray = new int[array.length * 2];
System.arraycopy(array, 0, newArray, 0, array.length);
return newArray;
}
public static void delete(int[] k,int n){
for(int i=n;i<w;i++){
k[i-1]=k[i];
}
w--;
}
public static void insert(int[] k,int n){
if(k.length==5)expand(k);
for(int i=w;i>n;i--){
k[i]=k[i-1];
}
w++;
}
public static void output(int[] k){
for(int i=0;i<k.length;i++){
System.out.print(k[i]+"\t");
}
System.out.println();
}
}
不知道为什么得不到自己想要的结果:删除,插入。求解析加代码! 展开
/**
* @param args
*/
static int w = 5;
public static void main(String args[]){
int[] a={1,3,5,2,7};
int n=3;
delete(a,n);
output(a);
insert(a,n);
output(a);
}
public static int[] expand(int[] array){
int[] newArray = new int[array.length * 2];
System.arraycopy(array, 0, newArray, 0, array.length);
return newArray;
}
public static void delete(int[] k,int n){
for(int i=n;i<w;i++){
k[i-1]=k[i];
}
w--;
}
public static void insert(int[] k,int n){
if(k.length==5)expand(k);
for(int i=w;i>n;i--){
k[i]=k[i-1];
}
w++;
}
public static void output(int[] k){
for(int i=0;i<k.length;i++){
System.out.print(k[i]+"\t");
}
System.out.println();
}
}
不知道为什么得不到自己想要的结果:删除,插入。求解析加代码! 展开
2015-03-25
展开全部
public atatic void delete(int[] k,int n){
int count=0;
for(int i=0;i<k.length-count;i++){
if(k[i]==n){
for(int j=i;j<k.length;j++){
k[j]=k[j+1];
i--;
count++;
}
}
int copy[]=Arrays.copyOf(k,k.length-count);
k[]=Arrays.copyOf(copy,copy.length);
}
}
int count=0;
for(int i=0;i<k.length-count;i++){
if(k[i]==n){
for(int j=i;j<k.length;j++){
k[j]=k[j+1];
i--;
count++;
}
}
int copy[]=Arrays.copyOf(k,k.length-count);
k[]=Arrays.copyOf(copy,copy.length);
}
}
追问
程序有误!
追答
public atatic void delete(int[] k,int n){
int count=0;
for(int i=0;i<k.length-count;i++){
if(k[i]==n){
for(int j=i;j<k.length;j++){
k[j]=k[j+1];
}
i--;
count++;
}
int copy[]=Arrays.copyOf(k,k.length-count);
k[]=Arrays.copyOf(copy,copy.length);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询