Win a copy of Cross-Platform Desktop Applications: Using Node, Electron, and NW.js this week in the JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

System.in.read giving a number when no entry has been made  RSS feed

 
Tyler Knecht
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This is just the start of my program, I am curios as to why when I run the program and just press enter, the result I get is "You typed: 13" when the entry is blank. It's baffling me.

import java.io.*;
public class birthYear
{
public static void main(String[] args) throws java.io.IOException
{
System.out.println("Please type your birth year.");
int x = (int)System.in.read();

System.out.print("You typed: " + x);

}
}
 
Joanne Neal
Rancher
Posts: 3742
16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When you hit return either a CR or CR/LF is generated (depending on your OS). System.in.read() reads the next character from the input and you then cast it to an int which will give you the ASCII value of the character. The ASCII value of a CR is 13.
 
Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!