Jak sprawić żeby liczby po wpisaniu przez użytkownika (Scanner) nie przechodziły do następnej linii. Zadanie SPOJ

0

Witam.
Od kilku dni uczę się javy i mam problem taki jak w temacie. Chciałbym zrobić to proste zadanie: https://pl.spoj.com/problems/RNO_DOD/ .
Nie wiem jak sprawić żeby liczby były wypisywane przez użytkownika w jednej linii po spacji zamiast jedna pod drugą. Za konstruktywną krytykę szczerze dziękuję :). Po wpisaniu różnych fraz u wujka google nie znalazłem odpowiedzi. Proszę o pomoc.
Dodatkowo pytanko: Dlaczego przy wpisaniu liczby ujemnej lub liter wyskakuje błąd zamiast wyświetlić komunikat? W C++ wystarczy taki warunek jako zabezpieczenie.

import java.util.Scanner;

public class SPOJ_Dodawanie {
    public static void main(String[] args) {
        int liczbaTestow;
        int doZsumowania;
        Scanner scan = new Scanner(System.in);
        System.out.print("Podaj liczbe testow (maksymalnie 100): ");
        liczbaTestow = scan.nextInt();
        int koncowe = liczbaTestow;
        int[] wyniki = new int[liczbaTestow];
        if (liczbaTestow>0 && liczbaTestow<100) {
            while (liczbaTestow > 0) {
                for (int k = 0; k < wyniki.length; ++k) { //petla do zliczania wynikow
                    System.out.print("Podaj ilosc liczb do zsumowania: ");
                    doZsumowania = scan.nextInt();      //skan ilości liczb do zsumowania
                    System.out.println("Liczby do zsumowania: ");
                    int[] liczby = new int[doZsumowania];
                    for (int i = 0; i < liczby.length; ++i) {
                        liczby[i] = scan.nextInt();
                        wyniki[k] = liczby[i] + wyniki[k];
                    }
                    --liczbaTestow;
                }
            }
            for (int n = 0; n < koncowe; n++) {
                System.out.println(wyniki[n]);
            }
        }
        else {
            System.out.println("Podales bledna liczbe. Podaj liczbe z zakresu od 1 do 100");
        }
    }
}
2

Jeśli chcesz czytać całą linie to użyj nextLine() a nie NextInt, a jeśli chodzi o drugie pytanie, to musisz przechwycić wyjątek

2

Tl;dr zamien println na printf.

1 użytkowników online, w tym zalogowanych: 0, gości: 1