ACM中使用JAVA的介绍
Chapter I.
Java的优缺点各种书上都有,这里只说说用Java做ACM-ICPC的特点:
(1) 最明显的好处是,学会Java,可以参加Java Challenge
(2) 对于熟悉C/C++的程序员来说,Java 并不难学,找本书,一两周业余时间就可以搞定了。当然,这里只是指一般编程,想熟悉所有的Java库还是需要些时间的。事实上,Java 只相当于C++的一个改进版,所有的语法都几乎是C++的,很少有变动。
(3) 在一般比赛中,Java程序会有额外的时间和空间,而实际上经过实验,在执行计算密集任务的时候Java并不比C/C++慢多少,只是IO操作较慢而已。
(4) Java 简单而功能强大,有些东西用Java实现起来更为方便,比如高精度。
(5) 用Java不易犯细微的错误,比如C/C++中的指针, “if (n = m) ... ” 等
(6) 目前来看Eclipse已成基本配置,写Java程序反而比C/C++更方便调试。在具体竞赛时也算多一种选择。
(7) 学会Java对以后工作有好处。现在国外很多地方会Java的人比会C/C++的人多。
( 会Java可以使你看起来更像偶蹄类动物(牛) hoho~
Chapter II.
下面说一下ACM-ICPC队员初用Java编程所遇到的一些问题:
1. 基本输入输出:
(1) JDK 1.5.0 新增的Scanner类为输入提供了良好的基础,简直就是为ACM-ICPC而设的。
一般用法为:
import java.io.*
import java.util.*
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(new BufferedInputStream(System.in));
...
}
}
当然也可以直接 Scanner cin = new Scanner(System.in);
只是加Buffer可能会快一些
(2)
读一个整数: int n = cin.nextInt(); 相当于 scanf("%d", &n); 或 cin >> n;
读一个字符串:String s = cin.next(); 相当于 scanf("%s", s); 或 cin >> s;
读一个浮点数:double t = cin.nextDouble(); 相当于 scanf("%lf", &t); 或 cin >> t;
读一整行: Strin
相关文档:
先来了解一下链表模式的原理:
首先写一个JavaBean,内容是要添加的元素和该元素的节点。
public class NodeBean implements Serializable
{
private Object data; //元素本身
private NodeBean next; //下一个节点
&n ......
主线程中:
InitThread initThread=new InitThread(new Semaphore(0));//初始化一个子线程,传一个初值为0的信号量给它
Display.getDefault().asyncExec(initThread);
try {//此处会挂起,直到子线程完成工作,修改了信号量的值,主线程才会继续
initThread.getSemaphore().acquire();
} catch (Inte ......
以下是计算两个数误差是否在10% ,如果在10%以内是正常,其他是不正常,用较小的数*10%+用较小的数=用较小的数*1.1%
double costNum =2;//电费平均日电量
double amountNum =3; //电量平均日电量
if(amountNum ......
第一次写这样的博客,感觉自己做的有点像笔记,不过本来就是笔记,我做笔记一般都是把本来不知道的,感觉有用的写下来,而且我也一般用与老师接近的语句写下来,避免自己的误解导致错误。
这次我看了《传智播客_张孝祥_Java基础1_Java开发前奏》这个课程。
1.老师说JAVA的第一个特点是”一次编译,到处运行“, ......
来北京已经是近20天了,起初刚到对我的打击确实不小,很想回家 的感觉,但是来到了传智,来到了这里,心里感觉好多了,人生地不熟,人的心里一般都是很孤独的,想在心里找个依靠,找个朋友能一起出去玩,聊天,学习。来到了北京,是一个全新的生活方式,什么都要靠自己了,出门真的很难,尤 ......