java - Confining User Inputed Numbers Between 1 and 30 -
i writing program asks 5 user inputed numbers; however, need keep numbers confined between 1 , 30. having trouble writing while loop part of program.
here code:
scanner input = new scanner(system.in); int numbercounter = 0; // set scanner 0 // intialize numbers 1-5 int number1; int number2; int number3; int number4; int number5; string asterisk = "*"; // holds string value "*" int number = 0; while (number < 1 || number > 30){ system.out.print("enter first number (between 1-30): "); number = keyin.nextint(); } system.out.print("please enter number between 1 , 30: ");// calls user input number1 = input.nextint();// stores user input number 1 system.out.print("please enter number between 1 , 30: ");// calls user input number2 = input.nextint();// stores user input number 2 system.out.print("please enter number between 1 , 30: ");// calls user input number3 = input.nextint();// stores user input number 3 system.out.print("please enter number between 1 , 30: ");// calls user input number4 = input.nextint();// stores user input number 4 system.out.print("please enter number between 1 , 30: ");// calls user input number5 = input.nextint();// stores user input number 5 system.out.printf("%d ", number1); (int = 1; <= number1; i++) system.out.print("*"); system.out.println(); system.out.printf("%d ", number2); (int = 1; <= number2; i++) system.out.print("*"); system.out.println(); system.out.printf("%d ", number3); (int = 1; <= number3; i++) system.out.print("*"); system.out.println(); system.out.printf("%d ", number4); (int = 1; <= number4; i++) system.out.print("*"); system.out.println(); system.out.printf("%d ", number5); (int = 1; <= number5; i++) system.out.print("*"); system.out.println(); } } can steer in right direction.
thank you.
you can avoid redundant code keeping nextint() inside while loop , use counter track desired number of inputs want read. , exit loop when valid numbers read.
scanner input = new scanner(system.in); byte maxnum = 31; byte minnum = 1; int[] numbers = new int[5]; int number = 0; int = 0; while (i<5) { system.out.print("enter number("+(i+1)+") between "+minnum + " , "+maxnum+ " : "); number = input.nextint(); if(number >=minnum && number <= maxnum){ numbers[i] = number; i++; }else{ system.out.println("--------invalid number :"+number+ " "); } } system.out.print("entered numbers :"); for(int n : numbers){ system.out.print(n + ","); } note : code may fail, char , out of range of inputs.
Comments
Post a Comment