ACM比赛中对编程语言的感悟

  
ACM中对编程语言的感悟
对于任何一个编程的人来讲 , 选择一门适合自己的语言都可以用一句话来形容 ----- 磨刀不误砍柴工 , 更有一句工欲善其事必先利其器 , 选择了一门适当的语言还得要深刻理解并灵活运用它的特点。
         我们这次参加比赛使用的是 Java 语言。按照常理讲,一般的真正的 ACM 高手至少会撑握两到三门语言,比如说 C 语言和 Java C 语言大家都知道,它更接近于机器语言,程序执行起来更快一些,而 Java 的编程与实现更简单,对于很多问题都有现成的数据结构和算法。
         由于我自己对 JAVA 稍微熟悉一些,就谈谈 ACM JAVA 的使用吧。对于其它的语言在这里就不多说了。
         正如前面所说的,许多问题 JAVA 中都已经有了现成的数据结构和算法。首先看看大数运算方面的问题, JAVA 中有两个类, BigInteger BigDecimal ,两个用字符串实现的大整数和大十进制类,它们可以处理任意长度和精度的整数与十进制数,其中的有许多方法高效实现了大整数与大十进制数的各种运算,对于 BigDecimal 还可以设置精度。对于一些大数运算问题就可以直接使用,非常实用。
         接下来就是要灵活运用的就是 Java 自身的数据结构类了,包括 collection 接口里的实现类和子类,另外还有 Map 映射抽象类及子类等。在 ACM TreeSet TreeMap 是两个最常用的数据结构类, TreeSet TreeMap 都能够实现其内容自然排序, Set 不允许其中的元素重复, Map 能实现键到值的映射。这两个类配合泛型的使用,使用起来将十分方便和有用。 Arrays JAVA 中的数组排序类,可以实现到 Object 类数组的快速排序,并且还可以进行二分查找,当然在使用二分查找的时候肯定是要先排序的啦。
         JAVA 中实现数据的输入也非常方便,一般有两种方式,文件输入和标准控制台输入;输出同样有两种,文件输出和标准控制台输出。我们参加的这次比赛就是文件输入和标准控制台输出。对于 Java5 JDK1.4 的输入也有少许差别, Java5 有一个简单的 Scanner 类,对于少量的数据输入建议使用 Scanner 类,而对于大量数据输入的话还是建议采用 BufferedReader 类,对于 JDK1.4 就只有全部使用 BufferedReader 了。输出的话,一定要把 File ,FilerWrite,PrintWrite 三个类的细节搞清楚。这里也不多讲,列出这几个输放输出的具体使用实例吧:
输入:
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
BufferedReader input = new BufferedReader(new FileReader(“1.txt”));
Scanner input = new Scanner(System.in) ;
输出:
System.out.println();
System.out.printf();
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值