1. 程式人生 > >Java Scanner類在OJ中的簡單使用

Java Scanner類在OJ中的簡單使用

1. 輸入規定引數個數n,引數按照一行輸入n個元素。

import java.util.Scanner;  
public class Main{  
    public static void main(String[] args){  
        Scanner in = new Scanner(System.in);  

        // 一個while就是一個測試用例  
        while(in.hasNext()){  
            int n = in.nextInt(); // 該測試用例後續接收的引數個數  
            long[] array = new long[n];  
            for(int i=0; i<n; i++){  
                array[i] = in.nextLong();// 取下一個元素轉換成long型別  
            }  
            System.out.println(array.length);  
        }  
           
    }  
}  
輸入:3
            4 5 6
輸出:3

2. 輸入規定引數行數n,每行中有不確定個元素,引數是n行輸入。

import java.util.Scanner;  
public class Main {  
    public static void main(String[] args) {  
        Scanner in = new Scanner(System.in);  
        while (in.hasNext()) {  
            int n = in.nextInt(); 
	    /* nextLine()是掃描器執行當前行,並返回跳過的輸入資訊,特別需要注意!!!

            如果沒有該行,則執行第一個in.nextLine()命令時的返回值是int n = in.nextInt()的值*/ 
            in.nextLine();
	    HashSet<String> set = new HashSet<String>();
	    for (int i = 0; i < n; i++) { 
		String line = 

		in.nextLine(); 
		String[] arr = line.split(" "); 
		for (int j = 0; j < arr.length; j++) { 
			set.add(arr[j]); 
		}
	     }
        System.out.println("sum:" + set.size());  
  
    }  
}

輸入:3
           a b c
       d e f
       a b c
輸出:6

3.結論:
 (1) 正常情況下,需要提供輸入的引數個數或行數(n)的資訊;
 (2) in.hasNext():如果此掃描器的輸入中有另一個標記,則返回 true。(是否有一個標記)
    in.next:查詢並返回來自此掃描器的下一個完整標記。(返回下一個標記)
    in.hasNextInt():此掃描器輸入資訊中的下一個標記可以解釋為預設基數中的一個 int 值,則返回 true。(下一個標記是否為int型別)

    in.nextInt():將輸入資訊的下一個標記掃描為一個 int。(將下一個標記返回成int型別)
    in.hasNextLine():如果在此掃描器的輸入中存在另一行,則返回 true。(是否存在下一行標記)
    in.nextLine():此掃描器執行當前行,並返回跳過的輸入資訊。(返回當前行資訊,與其他的不同,特別注意!!!)

 (3) while (in.hasNext()) {
// code
    } 

   一般為一個完整的測試用例。



相關推薦

Java ScannerOJ簡單使用

1. 輸入規定引數個數n,引數按照一行輸入n個元素。 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner

java Scanner的nextInt()方法在循環無法停止的問題

scan 忽略 exce inpu () 整數 成功 如果 標記 我們先看JAVA的api文檔中的原話: 當掃描器拋出 InputMismatchException 時,該掃描器不會傳遞導致該異常的標記,因此可以通過其他某種方法來獲取或跳它。

java Scanner 的next()方法和nextLine()方法的區別

next()方法不可以接收 字串中的空格 例如:![在這裡插入圖片描述](https://img-blog.csdn.net/20181002113934774?watermark/2/text/aHR0cHM6Ly9ibG9n

java ScannernextLine()方法與nextInt()等聯用時

先看一個簡單的例子: import java.util.Scanner; public class ClassTest{ public static void main(String[] args){ Scanner input=new Scanner(System.

JAVA scannernext()方法與nextline()方法的區別

在scanner類中有next()和nextline()方法,這兩種方法有什麼區別呢?今天寫了段程式碼測試了下。 程式碼部分 import java.util.Scanner; public class scannerDemo{ public st

關於Java集合的幾種常用隊列

rac syn text 刪除 style asdasd 新元素 其他 arraylist Java中幾種常用的隊列 阻塞隊列與普通隊列的區別在於,當隊列是空的時,從隊列中獲取元素的操作將會被阻塞,或者當隊列是滿時,往隊列裏添加元素的操作會被阻塞。試圖從空的阻塞隊列中獲取元

Java Scanner

基本語法 處理 smo 數字 分解 空格 dot import 數組元素 java.util.Scanner 是 Java5 的新特征,我們可以通過 Scanner 類來獲取用戶的輸入。下面是創建 Scanner 對象的基本語法:Scanner s = new Scanne

Java Scanner 詳解(附例子)學習

在筆試程式設計過程中,關於資料的讀取如果迷迷糊糊,那後來的程式設計即使想法很對,實現很好,也是徒勞,於是在這裡認真總結了Java  Scanner 類的使用 通過 Scanner 類來獲取使用者的輸入,下面是建立 Scanner 物件的基本語法: Scanner s =

Java——Scanner

java.util.Scanner 是 Java5 的新特徵,可以通過 Scanner 類來獲取使用者的輸入。 建立 Scanner 物件的基本語法: Scanner s = new Scanner(System.in); 【例】通過 Scanner 類的 next() 與 nextLi

Java繼承的static和final

1、父類中staitic修飾的靜態方法,不能覆蓋、不能繼承。 2、父類中staitic修飾的變數或常量,能覆蓋、不能繼承。         static修飾的變數和方法,只屬於類本身,不屬於物件;當宣告一個物件時,並不產生static變數和方法的拷貝。

java Scanner ,獲取鍵盤的輸入

Scanner 類是什麼? 用來獲取鍵盤的輸入 使用Scanner 好 Random 類來製作簡單的猜字小遊戲 import java.util.Random; import java.util.Scanner; public class ScannerDemo01 { public

Java 核心的一些設計模式

今天訪問java 併發程式設計網,看到一個翻譯徵集令,併發程式設計網的作者從stackoverflow 網站上選取了一些經典問答,遂決定翻譯幾篇 翻譯系列文章: 3.在java中如何建立一個記憶體洩露 譯文: 在Java 核心類庫中關於GOF設計模式的例子

java-Scanner

1、Scanner的概述和方法介紹  * A:Scanner的概述  * B:Scanner的構造方法原理     * Scanner(InputStream source)   * System類下有一個靜態的欄位:     * public static final InputStream in; 標準的

Java Scanner從控制檯讀取輸入

java.util.Scanner 建立Scanner類的物件,以獲取來自 System.in 的輸入: Scanner input = new Scanner(System.in); 讀取資料前先使用 hasNextXxx() 方法判斷是否存在資料輸

java matcher的概念簡單總結

重要概念介紹!!!: 1 組(group):matches,find,lookingAt三個函式的呼叫會產生組(group),表示一個成功匹配的部分 2 區域(region):通過region(int start,int end)函式設定區域的邊界,同時還有 useTra

Java Scanner的常用方法及用法(很詳細)

Java Scanner類的方法及用法(很詳細) Scanner類簡介 Java 5添加了java.util.Scanner類,這是一個用於掃描輸入文字的新的實用程式。它是以前的StringTokenizer和Matcher類之間的某種結合。由於任何資料

java Scanner的幾點注意事項

1.Scanner類的next(),nextInt(),nextDouble()等方法以空白符為分隔符(如空格)來讀取資料 2.Scanner類物件接連使用read.next(),read.nextLine() 如: Scanner read = new Scanner(S

Java——Scanner與String的常用方法應用

Scanner的概述和方法             final修飾,不能被繼承             System.in 標準的鍵盤錄入             hasNextInt() 判斷鍵盤錄入是否是int型整數,如果是,則返回true,否則為false       

Java工具StringUtilstrim、trimToEmpty、trimToNull方法詳解

1. trim方法原始碼詳解 public static String trim(String str) { return str == null ? null : str.trim(); }1234原始碼解析:輸入引數為null時返回nul

(十二)Java工具StringUtilstrim、trimToEmpty、trimToNull方法詳解

1. trim方法原始碼詳解 public static String trim(String str) { return str == null ? null : str.trim(); } 原始碼解析:輸入引數為n