[color=green]KOP注:此文写在 2006-03-24 ,从我别的博客转过来,这里只是为了整理一下。 [/color]
原题2.
已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal( ),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
简单点说:就是把个十百千四个位置同时都为偶数的四位数,挑选出来,并且做一个排序。
原题2.
已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal( ),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
简单点说:就是把个十百千四个位置同时都为偶数的四位数,挑选出来,并且做一个排序。
package test.nankai;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Vector;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
public class Nan002 {
public static void countVs(){
int [] fourNums=new int[200];//承载随机四位数
List resultNums = new ArrayList();//承载结果
//随机生成200个四位数并打印出来
System.out.println("产生的随机200个四位数为:");
Random random = new Random();
for (int i=0;i<200;i++){
fourNums[i]=random.nextInt(10000);
if(String.valueOf(fourNums[i]).length()!=4){
i--;
continue;
}
System.out.print(fourNums[i]+",");
if((i+1)%20==0){
System.out.println();
}
}
System.out.println("\n*****************************************************");
//开始处理
int g,s,b,q;//个、十、百、千
for(int j=0;j<200;j++){
g=fourNums[j]/1%10;//个位
s=fourNums[j]/10%10;//十位
b=fourNums[j]/100%10;//百位
q=fourNums[j]/1000%10;//千位
if(g%2==0&&s%2==0&&b%2==0&&q%2==0){
resultNums.add(fourNums[j]);
}
}
//打印结果
System.out.println("结果的数量为:"+resultNums.size());
Collections.sort(resultNums);//排序操作
System.out.println("结果集合为:");
System.out.println(resultNums);
}
public static void main(String[] args) {
countVs();
}
}