Languages
[Edit]
PL

Java - Klasa Scanner dla pocz─ůtkuj─ůcych

3 points
Created by:
Nikki
1659

W tym artykule, klasa Scanner skupia si─Ö na odczytywaniu danych z konsoli pobranych od u┼╝ytkownika. Jest to jedna z podstawowych czynno┼Ťci, kt├│re tak┼╝e na samym pocz─ůtku nauki sprawiaj─ů, ┼╝e pisane programy s─ů du┼╝o bardziej┬áatrakcyjne i bardziej ciesz─ů. W kilku przyk┼éadach poni┼╝ej znajduje si─Ö om├│wienie cz─Ö┼Ťci sk┼éadowych klasy Scanner oraz jej┬ázastosowanie.┬á

Przykład 1

Załóżmy, że chcemy wczytać od użytkownika imię:

import java.util.Scanner;

public class Przyklad1 {

    public static void main(String[] args) {

//        *1      *2            *3    
        Scanner scan = new Scanner(System.in);
        System.out.println("Podaj swoje imi─Ö"); 

//       *4     *5        *6
        String imie = scan.next(); //np. Alex

        System.out.println("Witaj " + imie);
    }
}

/*
*1 - zmienna typu Scanner
*2 - nadanie nazwy
*3 - tworzenie obiektu typu Scanner
*4 - zmienna typu String
*5 - nazwa zmiennej
*6 - metoda przyjmuj─ůca dane od u┼╝ytkownika, next() zwr├│ci nam String
*/

Wynik

Podaj swoje imi─Ö
Alex
Witaj Alex

Uwaga: Nale┼╝y pami─Öta─ç, ┼╝e Scanner znajduje si─Ö w pakiecie o nazwie java.util., dlatego nale┼╝y j─ů na pocz─ůtku zaimportowa─ç do swojej klasy.┬á

Przykład 2

Mamy za zadanie przyj─ů─ç od u┼╝ytkownika imi─Ö, nazwisko oraz wiek.

Rozwi─ůzanie

import java.util.Scanner;

public class Przyklad2 {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        System.out.println("Podaj swoje imi─Ö"); 
        String imie = scan.next(); //np.Alex

        System.out.println("Podaj swoje nazwisko"); 
        String nazwisko = scan.next(); //np.Black

        System.out.println("Podaj sw├│j wiek"); 
        int wiek = scan.nextInt(); //np.22

        System.out.println("Witaj " + imie + " " + nazwisko + "!");
        System.out.println("Tw├│j wiek to: " + wiek);
    }
}

Wynik:

Podaj swoje imi─Ö
Alex
Podaj swoje nazwisko
Black
Podaj sw├│j wiek
22
Witaj Alex Black!
Tw├│j wiek to: 22

Przykład 3

W tym przyk┼éadzie chcia┼éabym pokaza─ç do┼Ť─ç powszechny problem, przy przyjmowaniu┬ád┼éu┼╝szych informacji od u┼╝ytkownika. Za┼é├│┼╝my, ┼╝e mamy za zadanie wczyta─ç od u┼╝ytkownika jego ulubiony cytat/motto ┼╝yciowe:

import java.util.Scanner;

public class Przyklad3 {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        System.out.println("Podaj sw├│j ulubiony cytat"); 

        //np. The limits of my language are the limits of my world. 
        String cytat = scan.next();

        System.out.println("Tw├│j ulubiony cytat: " + cytat);
    }
}

Wynik (z błędem):

Podaj sw├│j ulubiony cytat
The limits of my language are the limits of my world. 
Tw├│j ulubiony cytat: The

Problem polega na tym, ┼╝e nasz program pobiera tylko i wy┼é─ůcznie pierwsze s┼éowo (do spacji). Reszty nie odczytuje. Jak to naprawi─ç?

import java.util.Scanner;

public class Przyklad3 {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        System.out.println("Podaj sw├│j ulubiony cytat");
        String cytat = scan.next();
        cytat += scan.nextLine(); //należy dodać, że pobieramy od użytkownika cały tekst

        System.out.println("Tw├│j ulubiony cytat: " + cytat);
    }
}

Wynik (poprawny)

Podaj sw├│j ulubiony cytat
The limits of my language are the limits of my world. 
Tw├│j ulubiony cytat: The limits of my language are the limits of my world. 

 

Java dla pocz─ůtkuj─ůcych

Hey ­čĹő
Would you like to know what we do?
  • Dirask is a friendly IT community for learners, professionals and hobbyists to share their knowledge and help each other in extraordinary easy way.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.