准备尝试用JAVA来做南开一百题(二)

[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文件中。

简单点说:就是把个十百千四个位置同时都为偶数的四位数,挑选出来,并且做一个排序。


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();

}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值