Thursday 15 April 2010

java - Need help creating an object oriented validation class -



java - Need help creating an object oriented validation class -

what i'm assigned create object-oriented validator. user prompted input integer, , application validates it. end result display on console follows (first 3 inputs beingness invalid, 4th beingness valid):

welcome validation tester application

int test

enter integer between -100 , 100: x

error! invalid integer value. seek again.

enter integer between -100 , 100: -101

error! number must greater -101

enter integer between -100 , 100: 101

error! number must less 101

enter integer between -100 , 100: 100

i've been assigned create validation class before never in way i'm beingness asked now. before, i've been able pass sc , prompt validation class , have methods process them accordingly. example:

//main scanner sc = new scanner(system.in); int x = validator.getint(sc, "enter integer: ", 0, 1000); //validation class public class validator{ public static int getint(scanner sc, string prompt) { int = 0; boolean isvalid = false; while (isvalid == false) { system.out.print(prompt); if (sc.hasnextint()) { = sc.nextint(); isvalid = true; } else { system.out.println("error! invalid integer value. seek again."); } sc.nextline(); // discard other info entered on line } homecoming i; } public static int getint(scanner sc, string prompt, int min, int max) { int = 0; boolean isvalid = false; while (isvalid == false) { = getint(sc, prompt); if (i <= min) system.out.println( "error! number must greater " + min + "."); else if (i >= max) system.out.println( "error! number must less " + max + "."); else isvalid = true; } homecoming i; }

done above, understand happening.

however i'm assigned same results using similar methods time sc has own constructor.

public class oovalidator { public oovalidator(scanner sc){} public int getint(string prompt){} public int getintwithinrange(string prompt, int min, int max){} }

i'm not asking assignment me in entirety, i'm @ loss how can both prompt user , pass user's input using class has sc , prompt separated.

i've tried several code several difference ways, non of compile.

just create instance of class

//main scanner sc = new scanner(system.in); oovalidator val = new oovalidator(sc); int x = val.getint("enter integer: "); // ... int y = val.getintwithinrange("enter integer: ", 0, 1000); //validation class public class oovalidator { private scanner sc; private static final string error = "error! invalid integer value." + "try again."; public oovalidator(scanner sc) { this.sc = sc; } public int getint(string prompt) { while (true) { system.out.print(prompt); if (sc.hasnextint()) { = sc.nextint(); sc.nextline(); // discard other info entered on line break; } else { system.out.println(error); sc.nextline(); // discard other info entered on line } } homecoming i; } public int getintwithinrange(string prompt, int min, int max) { // same logic - utilize straight sc instance field } }

java class validation object

No comments:

Post a Comment