Using || in while loop makes it take too many input values

David Jones
public class MetricConversion {
public static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
    String masses = "null";
    String volumes = "null";
    String temps = "null";
    String lengths = "null";
    int answer1 = 0;

    String[] options = {"Mass = 1","Temperature = 2","Length = 3","Volume = 4"};
    System.out.println("What would you like to convert?");
    for(int i = 0;i<options.length;i++)
        System.out.println(options[i]);

    while(!input.hasNextInt() || input.nextInt() > options.length)
    {
        String garbage = input.nextLine();
        System.out.println("That input is not valid, try again");
    }
    answer1 = input.nextInt();  
    input.nextLine();

The problem I am having is that the

    while(!input.hasNextInt() || input.nextInt() > options.length)

is taking 2 valid inputs instead of 1 in order to make

    answer1 = input.nextInt();

For example, when entering an invalid input it correctly prints my error message, but when entering a valid input I have to enter it twice in order to break the loop. However if I use the while loop without the || it only takes one value like it's supposed to.

shmosel

You're consuming the value without assigning it to a variable. You can assign it within the loop condition like this:

while(!input.hasNextInt() || (answer1 = input.nextInt()) > options.length)

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Too many initializer values while passing boolean array as function input

From Dev

Python ValueError: too many values to unpack in a While loop

From Dev

while loop [: too many arguments

From Dev

ValueError: too many values to unpack while using torch tensors

From Dev

My program is asking too many times for input. C while loop

From Dev

Too many values to unpack: for loop with nested dictionaries

From Dev

Too many values to unpacked Error for nuested for loop?

From Dev

Python ValueError: too many values to unpack For Loop

From Dev

Too many values to unpack (expected 2) in Python while using dictionary function

From Dev

Limiting user input to number of variables when using split() to prevent 'ValueError: too many values to unpack'?

From Dev

"ValueError too many values to unpack" when using str.split in a for loop

From Dev

subquery eror and too many values using xmllagg

From Dev

Validate the input using a while loop

From

Too Many open files/ No such host error while running a go program which makes concurrent requests

From Dev

ValueError: too many values to unpack while parsing the txt

From Dev

"Too many values to unpack" ValueError while training classifier

From Dev

too many values to unpack (while reading image's shape)

From Dev

Python - too many values to unpack while looking for a file

From Dev

Too many values to unpack (expected 2) while splitting string

From Dev

Request take too many times

From Dev

Error: Too many values unpack (expected 2) when trying to loop

From Dev

python - for loop over list - returns error "too many values to unpack"

From Dev

Pandas for loop over dataframe gives too many values to unpack

From Dev

Python ValueError: too many values to unpack (For loop with nested variable)

From Dev

For-loop is putting in too many values in my table

From Dev

SQL IN "Too many values"

From Dev

Instantiating too many prefabs in the game makes it slow

From Dev

"Too many fetch-failures" while using Hive

From Dev

Too many internal channel errors while using Channel API

Related Related

  1. 1

    Too many initializer values while passing boolean array as function input

  2. 2

    Python ValueError: too many values to unpack in a While loop

  3. 3

    while loop [: too many arguments

  4. 4

    ValueError: too many values to unpack while using torch tensors

  5. 5

    My program is asking too many times for input. C while loop

  6. 6

    Too many values to unpack: for loop with nested dictionaries

  7. 7

    Too many values to unpacked Error for nuested for loop?

  8. 8

    Python ValueError: too many values to unpack For Loop

  9. 9

    Too many values to unpack (expected 2) in Python while using dictionary function

  10. 10

    Limiting user input to number of variables when using split() to prevent 'ValueError: too many values to unpack'?

  11. 11

    "ValueError too many values to unpack" when using str.split in a for loop

  12. 12

    subquery eror and too many values using xmllagg

  13. 13

    Validate the input using a while loop

  14. 14

    Too Many open files/ No such host error while running a go program which makes concurrent requests

  15. 15

    ValueError: too many values to unpack while parsing the txt

  16. 16

    "Too many values to unpack" ValueError while training classifier

  17. 17

    too many values to unpack (while reading image's shape)

  18. 18

    Python - too many values to unpack while looking for a file

  19. 19

    Too many values to unpack (expected 2) while splitting string

  20. 20

    Request take too many times

  21. 21

    Error: Too many values unpack (expected 2) when trying to loop

  22. 22

    python - for loop over list - returns error "too many values to unpack"

  23. 23

    Pandas for loop over dataframe gives too many values to unpack

  24. 24

    Python ValueError: too many values to unpack (For loop with nested variable)

  25. 25

    For-loop is putting in too many values in my table

  26. 26

    SQL IN "Too many values"

  27. 27

    Instantiating too many prefabs in the game makes it slow

  28. 28

    "Too many fetch-failures" while using Hive

  29. 29

    Too many internal channel errors while using Channel API

HotTag

Archive