InputStreamReader, dlaczego wyrzuca inne liczby niż wpisane?

0
import java.io.InputStreamReader;
/**
 *
 * @author Kamil
 */
public class Cwiczenia {
  
    public static void main(String[] args) throws Exception
    {
  InputStreamReader wpisz = new InputStreamReader(System.in);
  int elo = wpisz.read();
  
  System.out.println(elo);

    
    }
}

Witam!
Gdy wpisuje wartość 5, System.out.println(elo); wypisuje mi 53 itp. Dlaczego tak się dzieje ?

1

Bo zwraca Ci ASCII code -> http://www.theasciicode.com.ar/ascii-printable-characters/lowercase-letter-u-minuscule-ascii-code-117.html
Jeśli chcesz sobie to wyprintować w takiej postaci jak wpisałeś to musisz sobie zcastować na char

System.out.println((char)elo);
0

Zamień go na scanner...

public static void main(String[] args) throws Exception
    {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Podaj liczbe:");
        int elo = scanner.nextInt();
        System.out.println(elo);
    }

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