数组中数据的删减

来源:互联网 发布:钢铁的咆哮3战舰数据 编辑:程序博客网 时间:2024/06/03 03:06

实验班抽查课后习题,突然脑子抽掉做不出来这道题,想了很久才写出来,很是惭愧,特意把自己的和别人的代码列出。做出比较



题目:

数组a={15,20,30,40,55,60,75,80},数组b=b={15,20,40,80},讲a、b数组中不同的数字保存到一个新的数组中。


我的代码:

public class Main {public static void main(String[] args) {// TODO] Auto-generated method stubint[] a={15,20,30,40,55,60,75,80};int[] b={15,20,40,80};int[] c=new int[8];for(int i=0;i<a.length;i++){for(int j=0;j<b.length;j++){if(a[i]==b[j]){a[i]=0;}}}for(int i=0;i<a.length;i++){if(a[i]!=0){System.out.print(a[i]+" ");}}}}


同学A的代码:

public class Main {public static void main(String[] args) {int a[]={15,20,30,40,55,60,75,80};int b[]={15,20,40,80};int count=0;int c[]=new int[8];int k=0;for(int i=0;i<a.length;i++){count=0;for(int j=0;j<b.length;j++){if(a[i]==b[j]){count=1;}}if(count==0){c[k]=a[i];k++;}}for(int i=0;i<k;i++){System.out.print(c[i]+" ");}}}




同学B的代码:

public class Main {public static void main(String[] args) {int a[]={15,20,40,30,55,60,75,80};int b[]={15,20,40,80};int k=0;for(int i=0;i<a.length;i++){for(int j=0;j<b.length;j++){if(a[i]==b[j]){k++;}}}k=a.length-k;int c[]=new int[k];k=0;for(int i=0;i<a.length;i++){int flag=0;for(int j=0;j<b.length;j++){if(a[i]==b[j]){flag=1;break;}}if(flag==0){c[k]=a[i];k++;}}for(int x:c){System.out.print(x+" ");}}}





总结:
  1. 不要忽视课后习题!
  2. 多与别人的代码做对比,学习不同的思维方式。


0 0
原创粉丝点击