JAVA在ACM/各類線上筆試題中的使用__JAVA

來源:互聯網
上載者:User

一、Java之ACM注意點

1. 類名稱必須採用public class Main方式命名

2. 在有些OJ系統上,即便是輸出的末尾多了一個“ ”,程式可能會輸出錯誤,所以在我看來好多OJ系統做的是非常之垃圾

3. 有些OJ上的題目會直接將OI上的題目拷貝過來,所以即便是題目中有輸入和輸出檔案,可能也不需要,因為在OJ系統中一般是採用標準輸入輸出,不需要檔案

4. 在有多行資料輸入的情況下,一般這樣處理,

[java]  view plain copy static Scanner in = new Scanner(System.in);   while(in.hasNextInt())   或者是   while(in.hasNext())  
5. 有關System.nanoTime() 函數的使用,該函數用來 返回最準確的可用系統計時器的當前值,以毫微秒為單位。

  [java]  view plain copy long startTime = System.nanoTime();   // ... the code being measured ...   long estimatedTime = System.nanoTime() - startTime;  

二、Java之輸入輸出處理

由於ACM競賽題目的輸入資料和輸出資料一般有多組(不定),並且格式多種多樣,所以,如何處理題目的輸入輸出是對大家的一項最基本的要求。這也是困擾初學者的一大問題。

1. 輸入:

格式1:Scanner sc = new Scanner (new BufferedInputStream(System.in));

格式2:Scanner sc = new Scanner (System.in);

在讀入資料量大的情況下,格式1的速度會快些。

讀一個整數: int n = sc.nextInt(); 相當於 scanf("%d", &n); 或 cin >> n; 

讀一個字串:String s = sc.next(); 相當於 scanf("%s", s); 或 cin >> s; 

讀一個浮點數:double t = sc.nextDouble(); 相當於 scanf("%lf", &t); 或 cin >> t; 

讀一整行: String s = sc.nextLine(); 相當於 gets(s); 或 cin.getline(...); 

判斷是否有下一個輸入可以用sc.hasNext()或sc.hasNextInt()或sc.hasNextDouble()或sc.hasNextLine()

例1:讀入整數

[java]  view plain copy Input  輸入資料有多組,每組佔一行,由一個整數組成。    Sample Input    56   67   100   123        import java.util.Scanner;   public class Main {   public static void main(String[] args) {   Scanner sc =new Scanner(System.in);   while(sc.hasNext()){  //判斷是否結束   int score = sc.nextInt();//讀入整數   。。。。   }   }   }      

例2:讀入實數

 

輸入資料有多組,每組佔2行,第一行為一個整數N,指示第二行包含N個實數。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.