除非输入按下/换行符,否则Java Scanner无法读取nextInt()

时间:2017-10-09 21:36:13

标签: java io java.util.scanner

我的编码挑战程序产生了正确的输出,但是,它要求我再次按下输入才能工作。这是the programming challenge

它打印出第一行就好了,但要求我再次按回车键才能正常工作。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class Solution {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int testCases = sc.nextInt();
        sc.nextLine();
        for(int i = 0; i < testCases; i++){
            int size = sc.nextInt();
            sc.nextLine();
            int[] arr = new int[size];
            for(int x = 0; x < size; x++){
                arr[x] = sc.nextInt();

            }
            sc.nextLine();
            if(size > 1){
                solve(arr);
            }
            else{
                System.out.println("0");
            }
        }
    }

     private static void solve(int[] arr) {
         for(int i =0 ; i  < arr.length; i++){
             arr[i] = Math.abs(arr[i]);
         }
         Arrays.sort(arr);
         for(int i = 0; i < arr.length - 1; i++){
             int f = i + 1;
             if(arr[i] == arr[f]){
                 System.out.print((arr[i] * -1) + " " + arr[i]);
             }
         }
         System.out.println();      
     }

}

0 个答案:

没有答案