Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Creating

...

multiple

...

scanners

...

on

...

System.in

...

upsets

...

the

...

predictability

...

of

...

program

...

behavior,

...

especially

...

when

...

System.in

...

has

...

been

...

re-directed.

...

Noncompliant

...

Code

...

Example

...

import

...

java.util.Scanner;

...

public

...

class

...

InputLibrary

...

{

   public static int getInt()

...

{

...

      System.out.println("Please

...

enter

...

an

...

int:");

...

      Scanner

...

in

...

=

...

new

...

Scanner(System.in);

...

      return

...

in.nextInt();

...

   }

   public static int getDouble()

...

{       System.out.println("Please

...

enter

...

a

...

double:");

...

      Scanner in = new Scanner(System.in);

...

      return in.nextDouble();

...

   }

}

Compliant Code Example

import java.util.Scanner;

...

public

...

class

...

InputLibrary{

...

   private static Scanner in = new Scanner(System.in);

...

   public static int getInt(){

...

     

...

System.out.println("Please

...

enter

...

an

...

int:");

...

     

...

return

...

in.nextInt();

...

  

...

}

   public static int getDouble(){

...

     

...

System.out.println("Please

...

enter

...

a

...

double:");

...

     

...

return

...

in.nextDouble();

...

  

...

}

...

}