java 編程題輸入輸出處理

昨晚作筆試編程題的時候,算法是能夠的,可是由於竟然不知道怎麼處理多組測試數據而提交不了,過久沒碰java算法編程,真是尷尬。java

輸入多組數據:算法

1.已知輸入數據的組數,直接判斷是否組數是否輸完就行了,最簡單的就是用for循環輸入編程

2.未知輸入數據的組數,有結束標誌字符,這個也簡單,設置while循環結束的條件爲判斷輸入字符是不是結束字符測試

3.未知輸入數據的組數,無結束標誌字符對象

c裏面對輸入是否完成的判斷是:while(scanf("%d %d",&a, &b) != EOF){...}input

java則能夠Scanner對象的hasNext()判斷hash

//例子,京東筆試,作集合並集操做
import java.util.HashSet;
import java.util.Scanner;
import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        while(input.hasNext()){
            int n = input.nextInt();        //輸入第一個集合的長度
            int k = input.nextInt();       //輸入第二個集合的長度
            int[] arr = new int[n+k];
            HashSet<Integer> temp = new HashSet<Integer>();
            for(int i = 0,len = n+k ; i < len; i++){
                temp.add(input.nextInt());              //輸入集合各個元素,這裏直接放入hashset了
            }
            Integer[] result = new Integer[temp.size()]; //hashset
            temp.toArray(result);
            Arrays.sort(result);                         //輸出要求從小到大
            for(int x:result){
                System.out.print( x+" ");
            }
        }
    }
}for循環

相關文章
相關標籤/搜索