• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

do while strange problem

 
Dustin Schreader
Ranch Hand
Posts: 102
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've created a do while loop that does insert items into an array list like I want it to but the problem is the output to console. I want the user to enter items into an array so I have a prompt like so:



As you notice it does not print Enter a[2]: to the correct part of the screen, it's like it skips the second iteration to print the prompt yet it still stores to in array[2]. Here is my code:

 
Deepika Chandrasekaran
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Dustin,

Please use in.hasNextLine() in while loop instead of in.hasNextInt().
 
Campbell Ritchie
Sheriff
Posts: 48652
56
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch

I am afraid hasNextLine() will probably not help. It will not pick up the letter, and you can still have a next line which is empty.
 
Dustin Schreader
Ranch Hand
Posts: 102
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I ended up doing this and it worked.. sort of.

The problem is the next part of my code is picking up the letter x that is typed in last to end the while loop and runs the last else statement to throw back x is not an option!
 
Campbell Ritchie
Sheriff
Posts: 48652
56
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You need to write down the boolean expression after while (... on a sheet of paper and explain to yourself exactly what it means.
You would do well to find the String.toUpperCase() and toLowerCase() methods.
You would do well to find about how to use a while loop and the hasNextInt method of Scanner to validate int input.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic