Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu. Zároveň využij akce až 80 % zdarma při nákupu kreditů. Více informací:
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Hranie sa so "Scanner-om"

Aktivity
Avatar
balaz.marek94:9.2.2016 22:44

Zdravím, pred nedávnom som videl veľmi jednoduchý program napísaný v C a zaujala ma tá jednoduchosť a prevedenie. Ide o to, že do programu zadávate dvojčíslie vo formáte:

21 45
28 33

a výstup činil súčet tohto dvojčíslia, čiže v našom prípade

66
61

Samotný funkcia v jazyku C vyzerala takto

#include <stdio.h>

int main()
{
        long m, d;
        while (scanf("%d%d", &m, &d) != EOF)
                printf("%d\n", m + d);
        return 0;
}

Skúšal som si tento jednoduchý príklad previesť do jazyku java, kde ma napadlo takéto riešenie

import java.util.Scanner;

public class Program {
    public static void main(String[] args) {
        int m = 0, d = 0;
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()) {
            String[] s = sc.nextLine().split(" ");
            if (s.length > 0) {
                m = Integer.parseInt(s[0]);
                d = Integer.parseInt(s[1]);
                System.out.println(m+d);
            }
        }
    }
}

A už sa dostávam ku mojej otázke. Dal by sa nejak formátovať vstup ako u Scanner-u alebo napadá Vás nejaké optimálnejšie riešenie? Za odpovede vopred ďakujem :-) .

 
Odpovědět
9.2.2016 22:44
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.