• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Input error in math equation

 
Greg Gruic
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am creating a program that will calculate a math equation similar to (5+5) + 6*3 + 18. It works when I put spaces between the integers and operators, however if there is no space it gives me a stack error. I know its because I am using s.nextInt(); for numbers and s.next() for the operators and if there is no space s.next() will pull everything till you get to a space. Any suggestions on how to fix this. Line 57 is my error because of an empty stack. The input is read between 17-24.

Thanks in advance!

 
fred rosenberger
lowercase baba
Bartender
Posts: 12083
29
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Did you read the API on the Scanner class?
A Scanner breaks its input into tokens using a delimiter pattern, which by default matches whitespace.
So it needs the (white)space to know where your tokens are.

You may be able to pass it a regex as a pattern, that would have a whitespace or your operators (with an optional space), but I don't know if you can then get the operator...
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic