ACM中Java高效输入输出封装

来自互联网 :

既高效又好用才是王道!

  1. import java.io.IOException;
  2. import java.io.FileInputStream;
  3. import java.io.InputStreamReader;
  4. import java.io.BufferedReader;
  5. import java.io.OutputStreamWriter;
  6. import java.io.PrintWriter;
  7. import java.io.StreamTokenizer;
  8. import java.util.ArrayList;
  9. import java.util.Collections;
  10. public class Main
  11. {
  12. public static final boolean DEBUG = false;
  13. public StreamTokenizer tokenizer;
  14. public BufferedReader cin;
  15. public PrintWriter cout;
  16. public void init()
  17. {
  18. try {
  19. if (DEBUG) {
  20. cin = new BufferedReader(new InputStreamReader(
  21. new FileInputStream("d:\\OJ\\uva_in.txt")));
  22. } else {
  23. cin = new BufferedReader(new InputStreamReader(System.in));
  24. }
  25. cout = new PrintWriter(new OutputStreamWriter(System.out));
  26. tokenizer = new StreamTokenizer(cin);
  27. } catch (Exception e) {
  28. e.printStackTrace();
  29. }
  30. }
  31. public String next()
  32. {
  33. try {
  34. tokenizer.nextToken();
  35. if (tokenizer.ttype == StreamTokenizer.TT_EOF)
  36. return null;
  37. else if (tokenizer.ttype == StreamTokenizer.TT_NUMBER) {
  38. return String.valueOf((int)tokenizer.nval);
  39. } else if (tokenizer.ttype == StreamTokenizer.TT_WORD) {
  40. return tokenizer.sval;
  41. } else return null;
  42. } catch (Exception e) {
  43. e.printStackTrace();
  44. return null;
  45. }
  46. }
  47. public void solve(String s)
  48. {
  49. }
  50. public static void main(String[] args)
  51. {
  52. }
  53. }
 
时间: 2024-10-25 18:59:53

ACM中Java高效输入输出封装的相关文章

ACM中java的使用 (转)

ACM中java的使用 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 1. 输入: 格式为:Scanner cin = new Scanner (new BufferedInputStream(System.in)); 例程: import java.io.*; import java.math.*; import java.util.*; import java.text.*; public class

【转】ACM中java的使用

原文博客:http://www.cnblogs.com/XBWer/archive/2012/06/24/2560532.html ACM中java的使用 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 1. 输入: 格式为:Scanner cin = new Scanner (new BufferedInputStream(System.in)); 例程: import java.io.*; import

ACM中java的使用

建议用IDE比如eclipse,因为有大量函数都会自动显示,相当方便 首先来看一题POJ1274的二分图匹配算法的java实现,给出总体的框架 import java.util.*;//基本框架 //主class必须与文件名相同 但在poj上交时class要改成Main public class poj1274 { //需要设置static变量才可以在static void中使用 相当于全局变量 //数组具体数值需要通过new申请 static int be[], ne[], e[], all;

ACM中Java使用注意事项

1. String 类用来存储字符串,可以用charAt方法来取出其中某一字节,计数从0开始, 而不是像C/C++那样使用 []访问是每个字符. 2. 在主类中 main 方法必须是 public static void 的,在 main 中调用非static类时会有警告信息, 可以先建立对象,然后通过对象调用方法. 3.  下面在java.util包里Arrays类的几个方法可替代C/C++里的memset.qsort/sort 和 bsearch: Arrays.fill() Arrays.

ACM中java中BigInteger和Decimal用到的主要函数

java中大数以及高精度常用函数 使用java大数类解决问题时我们需要注意两个方面:1.不能有包名,也就是说我们要把主类放到默认的包里,如果你的代码里出现形如package cn.gov.test;这样的代码你很有可能会收获到RE 2.提交的类的类名必须为Main,如果是其他的名字你有可能收获到CE也有可能收获到WA(例如UVA) Scanner cin=new Scanner(System.in);// 读入 一.BigInteger import java.math.BigInteger;

[原创]浅谈JAVA在ACM中的应用

由于java里面有一些东西比c/c++方便(尤其是大数据高精度问题,备受广大ACMer欢迎),所以就可以灵活运用这三种来实现编程,下面是我自己在各种大牛那里总结了一些,同时加上自己平时遇到的一些java上面的东西,像结构体排序什么的都有添加进去,博客一直会在更新,对初学者还是有一些帮助的,大牛们就可以忽略了,如果博客有什么问题,欢迎指出! java中的输出a+b import java.io.*; import java.util.*; public class Main { public st

ACM之Java输入输出

一.Java之ACM注意点 1. 类名称必须采用public class Main方式命名 2. 在有些OJ系统上,即便是输出的末尾多了一个“ ”,程序可能会输出错误,所以在我看来好多OJ系统做的是非常之垃圾 3. 有些OJ上的题目会直接将OI上的题目拷贝过来,所以即便是题目中有输入和输出文件,可能也不需要,因为在OJ系统中一般是采用标准输入输出,不需要文件 4. 在有多行数据输入的情况下,一般这样处理, static Scanner in = new Scanner(System.in); w

Java中的继承、封装、多态的理解

Java中的继承.封装.多态 继承的理解: 1.继承是面向对象的三大特征之一,也是实现代码复用的重要手段.Java的继承具有单继承的特点,每个子类只有一个直接父类. 2.Java的继承通过extends关键字来实现,实现继承的类被称为子类,被继承的类称为父类(有的也称其为基类.超类),父类和子类的关系,是一种一般和特殊的关系.就像是水果和苹果的关系,苹果继承了水果,苹果是水果的子类,水果是苹果的父类,则苹果是一种特殊的水果. 3.Java使用extends作为继承的关键字,extends关键字在

Java中的BigInteger在ACM中的应用

Java中的BigInteger在ACM中的应用 在ACM中的做题时,经常会遇见一些大数的问题,这是当我们用C或是C++时就会觉得比较麻烦,就想有没有现有的现有的可以直接调用的BigInter,那样就方便很多啦.在java中就有的,所以在这儿我就做一个简要的介绍吧 -:在java中的基本头文件(java中叫包) import java.io.* importjava.util.*       我们所用的输入scanner在这个包中 importjava.math.*          我们下面要