2

Программа должна читать входные данные и выводить сумму квадратов чисел с каждой строки, но выдаёт ошибку. Мой код:

import java.util.*;

public class Solution {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = in.nextInt(); // Кол-во строк

        for (int i = 0; i < num; i++) {
            int[] arr = toIntArray(in.nextLine().split(" "));
            System.out.print(calculate(arr) + " ");
        }
    }

    static int[] toIntArray(String[] strArr) {
        int[] intArr = new int[strArr.length];

        for (int i = 0; i < strArr.length; i++) {
            intArr[i] = Integer.parseInt(strArr[i]); // Здесь выдаёт ошибку
        }
        return intArr;
    }

    static int calculate(int[] arr) {
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i] * arr[i];
        }
        return sum;
    }
}
  • А данные какие на вход подаются? – Владимир Мартьянов Sep 15 '16 at 16:29
  • думаю, что nextInt() не вычитывает перевод строки, поэтому nextLine() возвращает пустую строку, а split() для нее - массив с одной пустой строкой. Сделайте еще один nextLine() после in.nextInt() – zRrr Sep 15 '16 at 16:33
  • @zRrr Спасибо, помогло – ktototamov Sep 15 '16 at 16:41

0 Answers0