实验班抽查课后习题,突然脑子抽掉做不出来这道题,想了很久才写出来,很是惭愧,特意把自己的和别人的代码列出。做出比较
题目:
数组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 stub
int[] 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+" ");}
}
}
总结:
- 不要忽视课后习题!
- 多与别人的代码做对比,学习不同的思维方式。