Mega Code Archive

 
Categories / Java / Language Basics
 

Java program to demonstrate looping 1

/* Java Programming for Engineers Julio Sanchez Maria P. Canton ISBN: 0849308100 Publisher: CRC Press */ // File name: Factorial.java //Reference: Chapter 10 // //Java program to demonstrate looping //Topics: // 1. Using the for loop // 2. Loop with multiple processing statements // //Requires: // 1. Keyin class in the current directory public class Factorial {   public static void main(String[] args) {     int number;     int facProd;     int curFactor;     System.out.println("FACTORIAL CALCULATION PROGRAM");     number = Keyin.inInt("Enter a positive integer: ");     facProd = number; // Initializing     for (curFactor = number - 1; curFactor > 1; curFactor--) {       facProd = curFactor * facProd;       System.out.println("Partial product: " + facProd);       System.out.println("Current factor:  " + curFactor);     }     // Display the factorial     System.out.println("\n\nFactorial is: " + facProd);   } } //********************************************************** //********************************************************** //Program: Keyin //Reference: Session 20 //Topics: //1. Using the read() method of the ImputStream class //  in the java.io package //2. Developing a class for performing basic console //  input of character and numeric types //********************************************************** //********************************************************** class Keyin {   //*******************************   //   support methods   //*******************************   //Method to display the user's prompt string   public static void printPrompt(String prompt) {     System.out.print(prompt + " ");     System.out.flush();   }   //Method to make sure no data is available in the   //input stream   public static void inputFlush() {     int dummy;     int bAvail;     try {       while ((System.in.available()) != 0)         dummy = System.in.read();     } catch (java.io.IOException e) {       System.out.println("Input error");     }   }   //********************************   //  data input methods for   //string, int, char, and double   //********************************   public static String inString(String prompt) {     inputFlush();     printPrompt(prompt);     return inString();   }   public static String inString() {     int aChar;     String s = "";     boolean finished = false;     while (!finished) {       try {         aChar = System.in.read();         if (aChar < 0 || (char) aChar == '\n')           finished = true;         else if ((char) aChar != '\r')           s = s + (char) aChar; // Enter into string       }       catch (java.io.IOException e) {         System.out.println("Input error");         finished = true;       }     }     return s;   }   public static int inInt(String prompt) {     while (true) {       inputFlush();       printPrompt(prompt);       try {         return Integer.valueOf(inString().trim()).intValue();       }       catch (NumberFormatException e) {         System.out.println("Invalid input. Not an integer");       }     }   }   public static char inChar(String prompt) {     int aChar = 0;     inputFlush();     printPrompt(prompt);     try {       aChar = System.in.read();     }     catch (java.io.IOException e) {       System.out.println("Input error");     }     inputFlush();     return (char) aChar;   }   public static double inDouble(String prompt) {     while (true) {       inputFlush();       printPrompt(prompt);       try {         return Double.valueOf(inString().trim()).doubleValue();       }       catch (NumberFormatException e) {         System.out             .println("Invalid input. Not a floating point number");       }     }   } }