1 / 23

Program Style Console Input and Output

Program Style Console Input and Output. This slide set was compiled from the Absolute Java textbook slides (Walter Savitch) and the professor’s own class materials. Techniques of Program Style. Naming Constants Spelling Conventions Comments Indenting No redundant code (use of methods).

jlebron
Download Presentation

Program Style Console Input and Output

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Program StyleConsole Input and Output This slide set was compiled from the Absolute Java textbook slides (Walter Savitch) and the professor’s own class materials. CSS161: Fundamentals of Computing

  2. Techniques of Program Style • Naming Constants • Spelling Conventions • Comments • Indenting • No redundant code (use of methods) CSS161: Fundamentals of Computing

  3. Naming Constants • Declare numbers as named constants: • Syntax public static final Type Variable = Constant; • Examples public static final int INCHES_PER_FOOT = 12; public static final double RATE = 0.14; • Naming Convention: • Use all uppercase letters, and designate word boundaries with an underscore. • Advantages • Changing a value in one place if it must be modified • preventing a value from being changed inadvertently CSS161: Fundamentals of Computing

  4. Spelling Conventions • Class names start with an upper letter: FirstProgram • Variable, Object, and method names start with a lower letter: answer • Punctuation is indicated with an underscore for a constant, otherwise an upper letter: INCHES_PER_FOOT, FirstProgram • Identifiers are spelled out in full: ArrayIndexOutOfBoundsException • Boolean variables should be named with a statement that will be true when the value of the Boolean variable is true: isPositive, pressureOK • Methods tend to start with a verb: equals( ), remove( ), add( ) CSS161: Fundamentals of Computing

  5. Comments and Indenting • A line comment begins with the symbols // • A block comment begins with the symbol pair /*, and ends with the symbol pair */ • Javadoc creates an HTML file that documents a given java program with /** */ • Indenting shows the level of nested structures. • Self-documentingmeans the clear structure of a given program with no necessity of // coments. CSS161: Fundamentals of Computing

  6. Example CSS161: Fundamentals of Computing

  7. More Example /** * Is a CSS161 example program to see javadoc demonstration. * * @author Munehiro Fukuda * @since 01/01/07 * @version 1.0 */ public class Css161Example { /** * Is the main function. * * @param arguments passed to the main function. * @return nothing */ public static void main( String[] args ) { function( ); // function call } /** * Repeats printing "Hello!" three times */ public static void function( ) { System.out.println( "Hello!" ); System.out.println( "Hello!" ); System.out.println( "Hello!" ); } } Javadoc formats these block comments in html. Indenting to show the level of nested structure. A line comment (This example contributes nothing to understanding, though.) CSS161: Fundamentals of Computing

  8. Practice public class Circumference { double radius 10.0; public static void main( String[] args ) { double circumference = 2 * 3.141592 * radius; System.out.println( “Circumference of radius 10.0 is “ + circumference ); } } • Reformat the following code according to the program style you have learned: CSS161: Fundamentals of Computing

  9. System.out.println • Syntax System.out.println( Item_1 + Item_2 + … + Last_item ); • Items: quoted strings, variables, numbers, or almost any object, which are concatenated together with +. • A new line added automatically • Examples System.out.println( “Welcome to Java.” ); System.out.println( “Elapsed time = “ + time + “seconds” ); CSS161: Fundamentals of Computing

  10. System.out.printf • Syntax System.out.printf( “…%X1[.Y1]z1 … %X2[.Y2]z2 …”, primitive_data1, primitive_data2, …); where: X: a digit Y: a digit added with f, e, and g specifier Z: a specifier such as d, f, e, g, s, and c • Examples double price = 19.8; String name = “magic apple”; System.out.printf( “$6.2f for each $s.%n”, price, name ); • %n: a new line added manually if necessary CSS161: Fundamentals of Computing

  11. Format Specifiers CSS161: Fundamentals of Computing

  12. Example (1 or 3) CSS161: Fundamentals of Computing

  13. Example (2 of 3) CSS161: Fundamentals of Computing

  14. Example (3 of 3) CSS161: Fundamentals of Computing

  15. Self-Test Exercises • Work on P67’s Self-Test Exercises 5 ~ 7 with your neighboring classmate. CSS161: Fundamentals of Computing

  16. Scanner Class • Convert each keyboard input (delimited by whitespace) into an appropriate data type. • Whitespace: blank spaces, tabs, and line breaks • Instantiation import java.util.Scanner; Scanner keyboard = new Scanner( System.in ); • Major methods • Convert an input into a byte, a short, an integer, a long, a float, a double, or a string data type. nextByte( ); nextShort( ); nextInt( ); nextLong( ); nextFloat( ); nextDouble( ); next( ); • Get an entire line next( ); • Check if the next input can be converted into a byte, a short, an integer, a long a float, a double or a string data type. hasNextByte( ); hasNextShort( ); hasNextInt( ); hasNextLong( ); hasNextFloat( ); hasNextDouble( ); hasNext( ); • Check if there is another line to get. hasNextLine( ); CSS161: Fundamentals of Computing

  17. Example (1 of 3) CSS161: Fundamentals of Computing

  18. Example (2 of 3) CSS161: Fundamentals of Computing

  19. Example (3 of 3) CSS161: Fundamentals of Computing

  20. Scanner.useDelimiter( ) • Change the delimiter from whitespace to "##" Scanner keyboard2 = new Scanner(System.in); Keyboard2.useDelimiter("##"); String word1 = keyboard2.next( ); String word2 = keyboard2.next( ); • Inputs abc##xyz • Values assigned word1: abc Word2: xyz CSS161: Fundamentals of Computing

  21. \n \n \n \n An empty string “” Pitfall: Dealing with the Line Terminator, '\n' • Given the code, Scanner keyboard = new Scanner(System.in); int n = keyboard.nextInt(); String s1 = keyboard.nextLine(); String s2 = keyboard.nextLine(); and the input, 2 Heads are better than 1 head. what are the values of n, s1, and s2? CSS161: Fundamentals of Computing

  22. Programming Tips • Prompt for Input Scanner keyboard = new Scanner( System.in ); System.out.println( “enter the first name” ); String first = keyboard.next( ); System.out.println( “enter the last name” ); String last = keyboard.next( ); • Echo Input System.out.print( “the full name is %s %s %n”, first, last ); CSS161: Fundamentals of Computing

  23. Self-Test Exercises • Work on P86’s Self-Test Exercises 13 ~ 14. • Work on P87’s Self-Test Exercises 15 ~ 16. CSS161: Fundamentals of Computing

More Related