貌似没人用java做ACM题 用C的居多 谈谈java

本文探讨了在ACM竞赛中使用Java作为编程语言的优势,包括内置的大数运算类BigInteger和BigDecimal,以及方便的数据结构如TreeSet和TreeMap。Java的输入输出处理相对简便,提供Scanner和BufferedReader等类。字符串处理方面,StringBuffer和StringBuilder各有适用场景,正则表达式也是重要的工具。此外,Java的格式化输出和文本处理能力也在ACM中发挥作用。
摘要由CSDN通过智能技术生成

对于任何一个编程的人来讲,选择一门适合自己的语言都可以用一句话来形容----工欲善其事必先利其器,选择了一门适当的语言还得要深刻理解并灵活运用它的特点

   我班同学参加比赛一般都用的是C语言 以唯斌大神为首.  C语言大家都知道,它更接近于机器语言,程序执行起来更快一些,而Java的编程与实现更简单,对于很多问题都有现成的数据结构和算法。

   由于我自己对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类&#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值