COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
|
|
- Thomasine Morrison
- 6 years ago
- Views:
Transcription
1 COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
2 COSC 236 Web Site You will always find the course material at: or or From this site you can click on the COSC-236 tab to download the PowerPoint lectures, the Quiz solutions and the Laboratory assignments. 2
3 3
4 Review of Quiz 15 Quiz 15: This Quiz is aimed at using random numbers and printing out a list separated by commas using the fencepost algorithm discussed in Lecture 14. Write a complete program (class) that asks the user how many random numbers the user wants printed and then prints on a single line that number of random numbers. The random numbers will be integers in the range 2 through 12 inclusive. Each random number is separated by a comma and a space. Here is what typical output from your program will look like: NOTE: There should be no extra commas or spaces at the beginning or at the end of the list. 4
5 Review of Quiz 15 There are two issues addressed in Quiz 15: First is generating random integers between 2 and 12 inclusively The range is max min + 1 = = 11 The minimum number is 2 rand.nextint(11) + 2 The second is the fence-post algorithm to print out the random numbers with commas between each number Print one random number before the for loop and leading commas in the for loop Print following commas in the for loop and one random number after the for loop 5
6 Review of Quiz 15 import java.util.*; // for Scanner Boiler Plate public class Quiz15 { public static void main(string[] args) { Random rand = new Random(); Set up random numbers Scanner console = new Scanner(System.in); Set up scanner for input System.out.print("How many random numbers would you like? "); int number = console.nextint(); System.out.print(rand.nextInt(11) + 2); for (int n = 1; n <= number; n++) { System.out.print(", " + (rand.nextint(11) +2)); System.out.println(); Prompt and get input Print first fence post Print line of number preceded by comma and space Use println to go to next line at end of program 6
7 Review of Quiz 15 QUESTION about the random numbers generated in Quiz 15: Would these number represent the throw of two dice? The range is correct: min = 2, max = 12 The numbers are random Does rand.nextint(11) + 2 simulate the roll of two dice? NO: The numbers 2 through 12 are not equally likely! 7
8 Review of Quiz 15 QUESTION about the random numbers generated in Quiz 15: Would these number represent the throw of two dice? NO: The numbers 2 through 12 are not equally likely! rand.nextint(6) + rand.nextint(6) + 2 8
9 Chapter 6 File Processing (pp ) 6.1 File reading basics 6.2 Details of token based processing 6.3 Line based processing 6.4 Advanced file processing 6.5 Case study zip code lookup 9
10 Chapter 6 File Processing (pp ) In Chapter 3 we discussed how to construct a Scanner object to read input from the console. Now we will look at how to construct Scanner objects to read input from files. The idea is fairly straightforward, but Java does not make it easy to read from input files. This is unfortunate because many interesting problems can be formulated as fileprocessing tasks. Many introductory computer science classes have abandoned file processing altogether and left the topic for the second course because it is considered too advanced for novices. 10
11 Chapter 6 File Processing (pp ) There is nothing intrinsically complex about file processing Java was not designed for file processing The designers of Java have not been particularly eager to provide a simple solution. They did, however, introduce the Scanner class as a way to simplify some of the details associated with reading files. The result is that file reading is still awkward in Java But at least the level of detail is manageable. 11
12 Chapter 6 File Processing (pp ) Before we start writing file-processing programs, we have to explore some issues related to Java exceptions. Remember that exceptions are errors that halt the execution of a program. In the case of file processing: trying to open a file that doesn t exist trying to read beyond the end of a file 12
13 Chapter 6 File Processing (pp ) Types of files: Text files: Can be viewed and edited using simple text editors Binary files: Use internal format and require special software to read, write or view 13
14 Chapter 6 File Processing (pp ) Text Files 14
15 Chapter 6 File Processing (pp ) 15
16 Chapter 6 File Processing (pp ) // Report some basic information about a file. import java.io.*; // for File public class FileInfo { public static void main(string[] args) { File f = new File("Test.txt"); System.out.println("exists returns " + f.exists()); System.out.println("canRead returns " + f.canread()); System.out.println("length returns " + f.length()); System.out.println("getAbsolutePath returns " + f.getabsolutepath()); 16
17 Chapter 6 File Processing (pp ) 17
18 Chapter 6.1 File Reading Basics (pp ) Input/output (I/O) import java.io.*; Create a File object to get info about a file on your drive. (This doesn't actually create a new file on the hard disk.) File f = new File("example.txt"); if (f.exists() && f.length() > 1000) { f.delete(); Method name canread() delete() exists() getname() length() renameto(file) Description returns whether file is able to be read removes file from disk whether this file exists on disk returns file's name returns number of bytes in file changes name of file 18
19 Chapter 6.1 File Reading Basics (pp ) Reading files To read a file, pass a File when constructing a Scanner. Scanner name = new Scanner(new File("file name")); Example: File file = new File("mydata.txt"); Scanner input = new Scanner(file); or (shorter): Scanner input = new Scanner(new File("mydata.txt")); 19
20 Chapter 6.1 File Reading Basics (pp ) File paths absolute path: specifies a drive or a top "/" folder C:/Documents/smith/hw6/input/data.csv Windows can also use backslashes to separate folders. relative path: does not specify any top-level folder names.dat input/kinglear.txt Assumed to be relative to the current directory: Scanner input = new Scanner(new File("data/readme.txt")); If our program is in H:/hw6, Scanner will look for H:/hw6/data/readme.txt 20
21 Chapter 6.1 File Reading Basics (pp ) Compiler error w/ files import java.io.*; import java.util.*; // for File // for Scanner public class ReadFile { public static void main(string[] args) { Scanner input = new Scanner(new File("data.txt")); String text = input.next(); System.out.println(text); The program fails to compile with the following error: ReadFile.java:6: unreported exception java.io.filenotfoundexception; must be caught or declared to be thrown Scanner input = new Scanner(new File("data.txt")); ^ 21
22 Chapter 6.1 File Reading Basics (pp ) Exceptions exception: An object representing a runtime error. dividing an integer by 0 calling substring on a String and passing too large an index trying to read the wrong type of value from a Scanner trying to read a file that does not exist We say that a program with an error "throws" an exception. It is also possible to "catch" (handle or fix) an exception. checked exception: An error that must be handled by our program (otherwise it will not compile). We must specify how our program will handle file I/O failures. 22
23 Chapter 6.1 File Reading Basics (pp ) The throws clause throws clause: Keywords on a method's header that state that it may generate an exception (and will not handle it). Syntax: public static type name(params) throws type { Example: public class ReadFile { public static void main(string[] args) throws FileNotFoundException { Like saying, "I hereby announce that this method might throw an exception, and I accept the consequences if this happens." 23
24 Chapter 6.1 File Reading Basics (pp ) import java.io.*; // for File import java.util.*; // Java utilities public class FileRead { public static void main(string[] args) throws FileNotFoundException { File f = new File("Test.txt"); Scanner input = new Scanner(f); System.out.println("exists returns " + f.exists()); System.out.println("canRead returns " + f.canread()); System.out.println("length returns " + f.length()); System.out.println("getAbsolutePath returns " + f.getabsolutepath()); int count = 0; while (input.hasnext()) { String word = input.next(); count++; System.out.println("total words = " + count); 24
25 Chapter 6.1 File Reading Basics (pp ) 25
26 Chapter 6.2 Details of Token-Based Processing (pp ) Input tokens token: A unit of user input, separated by whitespace. A Scanner splits a file's contents into tokens. If an input file contains the following: "John Smith" The Scanner can interpret the tokens as the following types: Token Type(s) 23 int, double, String 3.14 double, String "John String Smith" String 26
27 Chapter 6.2 Details of Token-Based Processing (pp ) Files and input cursor Consider a file weather.txt that contains this text: A Scanner views all input as a stream of characters: \n \n\n \n ^ input cursor: The current position of the Scanner. 27
28 Chapter 6.2 Details of Token-Based Processing (pp ) Consuming tokens consuming input: Reading input and advancing the cursor. Calling nextint etc. moves the cursor past the current token \n \n\n \n ^ double d = input.nextdouble(); // \n \n\n \n ^ String s = input.next(); // "23.5" \n \n\n \n ^ 28
29 Chapter 6.2 Details of Token-Based Processing (pp ) File input question Recall the input file weather.txt: Write a program that prints the change in temperature between each pair of neighboring days to 23.5, change = to 19.1, change = to 7.4, change = to 22.8, change = to 18.5, change = to -1.8, change = to 14.9, change =
30 Chapter 6.2 Details of Token-Based Processing (pp ) // Displays changes in temperature from data in an input file. import java.io.*; // for File import java.util.*; // for Scanner public class Temperatures { public static void main(string[] args) throws FileNotFoundException { Scanner input = new Scanner(new File("weather.txt")); double prev = input.nextdouble(); // fencepost for (int i = 1; i <= 7; i++) { double next = input.nextdouble(); System.out.println(prev + " to " + next + ", change = " + (next - prev)); prev = next; 30
31 Chapter 6.2 Details of Token-Based Processing (pp ) Reading an entire file Suppose we want our program to work no matter how many numbers are in the file. Currently, if the file has more numbers, they will not be read. If the file has fewer numbers, what will happen? A crash! Example output from a file with just 3 numbers: 16.2 to 23.5, change = to 19.1, change = -4.4 Exception in thread "main" java.util.nosuchelementexception at java.util.scanner.throwfor(scanner.java:838) at java.util.scanner.next(scanner.java:1347) at Temperatures.main(Temperatures.java:12) 31
32 Chapter 6.2 Details of Token-Based Processing (pp ) Scanner exceptions NoSuchElementException You read past the end of the input. InputMismatchException You read the wrong type of token (e.g. read "hi" as an int). Finding and fixing these exceptions: Read the exception text for line numbers in your code (the first line that mentions your file; often near the bottom): Exception in thread "main" java.util.nosuchelementexception at java.util.scanner.throwfor(scanner.java:838) at java.util.scanner.next(scanner.java:1347) at MyProgram.myMethodName(MyProgram.java:19) at MyProgram.main(MyProgram.java:6) 32
33 Chapter 6.2 Details of Token-Based Processing (pp ) Scanner tests for valid input Method hasnext() hasnextint() hasnextdouble() Description returns true if there is a next token returns true if there is a next token and it can be read as an int returns true if there is a next token and it can be read as a double These methods of the Scanner do not consume input; they just give information about what the next token will be. Useful to see what input is coming, and to avoid crashes. These methods can be used with a console Scanner, as well. When called on the console, they sometimes pause waiting for input. 33
34 Chapter 6.2 Details of Token-Based Processing (pp ) Using hasnext methods Avoiding type mismatches: Scanner console = new Scanner(System.in); System.out.print("How old are you? "); if (console.hasnextint()) { int age = console.nextint(); // will not crash! System.out.println("Wow, " + age + " is old!"); else { System.out.println("You didn't type an integer."); Avoiding reading past the end of a file: Scanner input = new Scanner(new File("example.txt")); if (input.hasnext()) { String token = input.next(); // will not crash! System.out.println("next token is " + token); 34
35 Chapter 6.2 Details of Token-Based Processing (pp ) File input question 2 Modify the temperature program to process the entire file, regardless of how many numbers it contains. Example: If a ninth day's data is added, output might be: 16.2 to 23.5, change = to 19.1, change = to 7.4, change = to 22.8, change = to 18.5, change = to -1.8, change = to 14.9, change = to 16.1, change =
36 Chapter 6.2 Details of Token-Based Processing (pp ) // Displays changes in temperature from data in an input file. import java.io.*; // for File import java.util.*; // for Scanner public class Temperatures { public static void main(string[] args) throws FileNotFoundException { Scanner input = new Scanner(new File("weather.txt")); double prev = input.nextdouble(); // fencepost while (input.hasnextdouble()) { double next = input.nextdouble(); System.out.println(prev + " to " + next + ", change = " + (next - prev)); prev = next; 36
37 Chapter 6.2 Details of Token-Based Processing (pp ) File input question 3 Modify the temperature program to handle files that contain non-numeric tokens (by skipping them). For example, it should produce the same output as before when given this input file, weather2.txt: Tuesday 19.1 Wed 7.4 THURS. TEMP: <-- Marty here is my data! --Kim 14.9 :-) You may assume that the file begins with a real number. 37
38 Chapter 6.2 Details of Token-Based Processing (pp ) // Displays changes in temperature from data in an input file. import java.io.*; // for File import java.util.*; // for Scanner public class Temperatures2 { public static void main(string[] args) throws FileNotFoundException { Scanner input = new Scanner(new File("weather.txt")); double prev = input.nextdouble(); // fencepost while (input.hasnext()) { if (input.hasnextdouble()) { double next = input.nextdouble(); System.out.println(prev + " to " + next + ", change = " + (next - prev)); prev = next; else { input.next(); // throw away unwanted token 38
39 Chapter 6.2 Details of Token-Based Processing (pp ) Election question Write a program that reads a file poll.txt of poll data. Format: State Obama% McCain% ElectoralVotes Pollster CT Oct U. of Connecticut NE Sep Rasmussen AZ Oct Northern Arizona U. The program should print how many electoral votes each candidate leads in, and who is leading overall in the polls. Obama : 214 votes McCain: 257 votes 39
40 Chapter 6.2 Details of Token-Based Processing (pp ) // Computes leader in presidential polls, based on input file such as: // AK Oct Ivan Moore Research import java.io.*; import java.util.*; // for File // for Scanner public class Election { public static void main(string[] args) throws FileNotFoundException { Scanner input = new Scanner(new File("polls.txt")); int obamavotes = 0, mccainvotes = 0; while (input.hasnext()) { if (input.hasnextint()) { int obama = input.nextint(); int mccain = input.nextint(); int evotes = input.nextint(); if (obama > mccain) { obamavotes = obamavotes + evotes; else if (mccain > obama) { mccainvotes = mccainvotes + evotes; else { input.next(); // skip non-integer token System.out.println("Obama : " + obamavotes + " votes"); System.out.println("McCain: " + mccainvotes + " votes"); 40
41 Chapter 6.2 Details of Token-Based Processing (pp ) Hours question Given a file hours.txt with the following contents: 123 Kim Eric Stef Consider the task of computing hours worked by each person: Kim (ID#123) worked 31.4 hours (7.85 hours/day) Eric (ID#456) worked 36.8 hours (7.36 hours/day) Stef (ID#789) worked 39.5 hours (7.9 hours/day) Let's try to solve this problem token-by-token... 41
42 Chapter 6.2 Details of Token-Based Processing (pp ) Hours answer (flawed) // This solution does not work! import java.io.*; import java.util.*; // for File // for Scanner public class HoursWorked { public static void main(string[] args) throws FileNotFoundException { Scanner input = new Scanner(new File("hours.txt")); while (input.hasnext()) { // process one person int id = input.nextint(); String name = input.next(); double totalhours = 0.0; int days = 0; while (input.hasnextdouble()) { totalhours += input.nextdouble(); days++; System.out.println(name + " (ID#" + id + ") worked " + totalhours + " hours (" + (totalhours / days) + " hours/day)"); 42
43 Chapter 6.2 Details of Token-Based Processing (pp ) Flawed output Susan (ID#123) worked hours (97.48 hours/day) Exception in thread "main" java.util.inputmismatchexception at java.util.scanner.throwfor(scanner.java:840) at java.util.scanner.next(scanner.java:1461) at java.util.scanner.nextint(scanner.java:2091) at HoursWorked.main(HoursBad.java:9) The inner while loop is grabbing the next person's ID. We want to process the tokens, but we also care about the line breaks (they mark the end of a person's data). A better solution is a hybrid approach: First, break the overall input into lines. Then break each line into tokens. 43
44 Assignments for this week 1. Laboratory for Chapter 5 due TODAY (Monday 10/27) IMPORTANT: When you me your laboratory Word Document, be sure it is all in one file 2. Laboratory for Chapter 6 due NEXT MONDAY (Monday 11/3) IMPORTANT: When you me your laboratory Word Document, be sure it is all in one file 3. Read pp (Chapter 6) for Wednesday 4/9 4. Be sure to complete Quiz 16 before leaving class tonight This is another program to write You must demonstrate the program to me before you leave lab 44
AP Computer Science. File Input with Scanner. Copyright 2010 by Pearson Education
AP Computer Science File Input with Scanner Input/output (I/O) import java.io.*; Create a File object to get info about a file on your drive. (This doesn't actually create a new file on the hard disk.)
More informationBuilding Java Programs
Building Java Programs Chapter 6 File Input with Scanner reading: 6.1 6.2, 5.4 2 Input/output (I/O) import java.io.*; Create a File object to get info about a file on your drive. (This doesn't actually
More informationBuilding Java Programs Chapter 6
Building Java Programs Chapter 6 File Processing Copyright (c) Pearson 2013. All rights reserved. Input/output (I/O) import java.io.*; Create a File object to get info about a file on your drive. (This
More informationBuilding Java Programs
Building Java Programs Chapter 6: File Processing Lecture 6-1: File input using Scanner reading: 6.1-6.2, 5.3 self-check: Ch. 6 #1-6 exercises: Ch. 6 #5-7 Input/output ("I/O") import java.io.*; Create
More informationBuilding Java Programs
Building Java Programs Chapter 6 Lecture 6-1: File Input with Scanner reading: 6.1-6.2, 5.3 self-check: Ch. 6 #1-6 exercises: Ch. 6 #5-7 videos: Ch. 6 #1-2 Input/output (I/O) import java.io.*; Create a
More informationBuilding Java Programs
Building Java Programs Chapter 6 Lecture 6-1: File Input with Scanner reading: 6.1-6.2, 5.3 self-check: Ch. 6 #1-6 exercises: Ch. 6 #5-7 videos: Ch. 6 #1-2 Input/output (I/O) import java.io.*; Create a
More informationBuilding Java Programs
Building Java Programs Chapter 6: File Processing 1 file input using Scanner Chapter outline File objects exceptions file names and folder paths token-based file processing line-based file processing processing
More informationCS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 19: NOV. 15TH INSTRUCTOR: JIAYIN WANG
CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 19: NOV. 15TH INSTRUCTOR: JIAYIN WANG 1 Notice Assignment Class Exercise 19 is assigned Homework 8 is assigned Both Homework 8 and Exercise 19 are
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com
More informationFile class in Java. Scanner reminder. File methods 10/28/14. File Input and Output (Savitch, Chapter 10)
File class in Java File Input and Output (Savitch, Chapter 10) TOPICS File Input Exception Handling File Output Programmers refer to input/output as "I/O". Input is received from the keyboard, mouse, files.
More informationBuilding Java Programs
Building Java Programs Chapter 6 Line-Based File Input reading: 6.3-6.5 2 Hours question Given a file hours.txt with the following contents: 123 Alex 12.5 8.2 7.6 4.0 456 Alina 4.2 11.6 6.3 2.5 12.0 789
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com
More informationCS 112 Introduction to Programming
CS 112 Introduction to Programming File as Input; Exceptions; while loops; Basic Arrays Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu
More informationCS 112 Introduction to Programming
CS 112 Introduction to Programming Program Analysis Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu Admin q PS5 Walkthrough Thursday
More informationBuilding Java Programs
Building Java Programs Chapter 6: File Processing Lecture 6-2: Advanced file input reading: 6.3-6.5 self-check: #7-11 exercises: #1-4, 8-11 Copyright 2009 by Pearson Education Hours question Given a file
More informationBuilding Java Programs
Building Java Programs Chapter 6 Lecture 6-2: Line-Based File Input reading: 6.3-6.5 2 Hours question Given a file hours.txt with the following contents: 123 Ben 12.5 8.1 7.6 3.2 456 Greg 4.0 11.6 6.5
More informationBuilding Java Programs
Building Java Programs Chapter 6: File Processing 1 Lecture outline line-based file processing using Scanners processing a file line by line mixing line-based and token-based file processing searching
More informationReading Input from Text File
Islamic University of Gaza Faculty of Engineering Computer Engineering Department Computer Programming Lab (ECOM 2114) Lab 5 Reading Input from Text File Eng. Mohammed Alokshiya November 2, 2014 The simplest
More informationCIS 110: Introduction to Computer Programming
CIS 110: Introduction to Computer Programming Lecture 15 Our Scanner eats files ( 6.1-6.2) 10/31/2011 CIS 110 (11fa) - University of Pennsylvania 1 Outline Programming assertion recap The Scanner object
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com
More informationFiles. Reading data from files. File class. Compiler error with files. Checked exceptions. Exceptions. Readings:
Reading data from files Files Creating a Scanner for a file, general syntax: Scanner = new Scanner(new File("")); Example: Scanner input = new Scanner(new File("numbers.txt")); Readings:
More informationEXCEPTIONS. Fundamentals of Computer Science I
EXCEPTIONS Exception in thread "main" java.lang.numberformatexception: For input string: "3.5" at java.lang.numberformatexception.forinputstring(numberformatexception.java:48) at java.lang.integer.parseint(integer.java:458)
More informationCSCI 1103: File I/O, Scanner, PrintWriter
CSCI 1103: File I/O, Scanner, PrintWriter Chris Kauffman Last Updated: Wed Nov 29 13:22:24 CST 2017 1 Logistics Reading from Eck Ch 2.1 on Input, File I/O Ch 11.1-2 on File I/O Goals Scanner for input
More informationComputer Science is...
Computer Science is... Computational complexity theory Complexity theory is the study of how algorithms perform with an increase in input size. All problems (like is n a prime number? ) fit inside a hierarchy
More informationExcep&ons and file I/O
Excep&ons and file I/O Exception in thread "main" java.lang.numberformatexception: For input string: "3.5" at java.lang.numberformatexception.forinputstring(numberformatexception.java:48) at java.lang.integer.parseint(integer.java:458)
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com
More informationWentworth Institute of Technology. Engineering & Technology WIT COMP1000. File Input and Output
WIT COMP1000 File Input and Output I/O I/O stands for Input/Output So far, we've used a Scanner object based on System.in for all input (from the user's keyboard) and System.out for all output (to the
More informationCSCI 1103: File I/O, Scanner, PrintWriter
CSCI 1103: File I/O, Scanner, PrintWriter Chris Kauffman Last Updated: Mon Dec 4 10:03:11 CST 2017 1 Logistics Reading from Eck Ch 2.1 on Input, File I/O Ch 11.1-2 on File I/O Goals Scanner for input Input
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com
More informationOutline. CIS 110: Introduction to Computer Programming. Exam announcements. Programming assertions revisited. An extended example: mystery
Outline CIS 110: Introduction to Computer Programming Programming assertion recap The object and files Token-based file processing Lecture 15 Our eats files ( 6.1-6.2) 1 2 Exam announcements Attempting
More informationCS244 Advanced Programming Applications
CS 244 Advanced Programming Applications Exception & Java I/O Lecture 5 1 Exceptions: Runtime Errors Information includes : class name line number exception class 2 The general form of an exceptionhandling
More informationCOMP200 INPUT/OUTPUT. OOP using Java, based on slides by Shayan Javed
1 1 COMP200 INPUT/OUTPUT OOP using Java, based on slides by Shayan Javed Input/Output (IO) 2 3 I/O So far we have looked at modeling classes 4 I/O So far we have looked at modeling classes Not much in
More informationBuilding Java Programs
Building Java Programs Chapter 6 Lecture 6-3: Searching Files reading: 6.3-6.5 2 Recall: Line-based methods Method nextline() Description returns the next entire line of input hasnextline() returns true
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com
More informationTopic 11 Scanner object, conditional execution
Topic 11 Scanner object, conditional execution "There are only two kinds of programming languages: those people always [complain] about and those nobody uses." Bjarne Stroustroup, creator of C++ Copyright
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com
More informationBuilding Java Programs
Building Java Programs Chapter 5 Lecture 5-4: do/while loops, assertions reading: 5.1, 5.5 1 The do/while loop do/while loop: Performs its test at the end of each repetition. Guarantees that the loop's
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us From this site you can click on the COSC-236
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com
More informationUnit 10: exception handling and file I/O
Unit 10: exception handling and file I/O Using File objects Reading from files using Scanner Writing to file using PrintStream not in notes 1 Review What is a stream? What is the difference between a text
More informationBuilding Java Programs
Building Java Programs Chapter 5 Lecture 5-4: do/while loops, assertions reading: 5.1, 5.5 1 The do/while loop do/while loop: Performs its test at the end of each repetition. Guarantees that the loop's
More informationA token is a sequence of characters not including any whitespace.
Scanner A Scanner object reads from an input source (keyboard, file, String, etc) next() returns the next token as a String nextint() returns the next token as an int nextdouble() returns the next token
More informationTopic 11 Scanner object, conditional execution
https://www.dignitymemorial.com/obituaries/brookline-ma/adele-koss-5237804 Topic 11 Scanner object, conditional execution Logical thinking and experience was as important as theory in using the computer
More informationWelcome to the Using Objects lab!
Welcome to the Using Objects lab! Learning Outcomes By the end of this lab: 1. Be able to define chapter 3 terms. 2. Describe reference variables and compare with primitive data type variables. 3. Draw
More informationBuilding Java Programs
Building Java Programs Chapter 3: Parameters, Return, and Interactive Programs with Scanner 1 Lecture outline console input with Scanner objects input tokens Scanner as a parameter to a method cumulative
More informationBuilding Java Programs
Building Java Programs Chapter 4: Conditional Execution 1 loop techniques cumulative sum fencepost loops conditional execution Chapter outline the if statement and the if/else statement relational expressions
More informationCOSC 123 Computer Creativity. I/O Streams and Exceptions. Dr. Ramon Lawrence University of British Columbia Okanagan
COSC 123 Computer Creativity I/O Streams and Exceptions Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Objectives Explain the purpose of exceptions. Examine the try-catch-finally
More informationEXCEPTION HANDLING. // code that may throw an exception } catch (ExceptionType parametername) {
EXCEPTION HANDLING We do our best to ensure program correctness through a rigorous testing and debugging process, but that is not enough. To ensure reliability, we must anticipate conditions that could
More information-Alfred North Whitehead. Copyright Pearson Education, 2010 Based on slides by Marty Stepp and Stuart Reges from
Copyright Pearson Education, 2010 Based on slides by Marty Stepp and Stuart Reges from http://www.buildingjavaprograms.com/ Topic 15 boolean methods and random numbers "It is a profoundly erroneous truism,
More informationFile Processing. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. A Class for Representing a File
Unit 4, Part 2 File Processing Computer Science S-111 Harvard University David G. Sullivan, Ph.D. A Class for Representing a File The File class in Java is used to represent a file on disk. To use it,
More informationJAVA PROGRAMMING LAB. ABSTRACT In this Lab you will learn to write programs for executing statements repeatedly using a while, do while and for loop
Islamic University of Gaza Faculty of Engineering Computer Engineering Dept. Computer Programming Lab (ECOM 2114) ABSTRACT In this Lab you will learn to write programs for executing statements repeatedly
More information9. Java Errors and Exceptions
Errors and Exceptions in Java 9. Java Errors and Exceptions Errors and exceptions interrupt the normal execution of the program abruptly and represent an unplanned event. Exceptions are bad, or not? Errors,
More informationCS 112 Introduction to Programming
CS 112 Introduction to Programming Summary of Methods; User Input using Scanner Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu Admin
More informationBuilding Java Programs
Building Java Programs Chapter 5 Lecture 5-2: Random Numbers reading: 5.1, 5.6 1 http://xkcd.com/221/ 2 Randomness Lack of predictability: don't know what's coming next Random process: outcomes do not
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com
More informationCSC System Development with Java. Exception Handling. Department of Statistics and Computer Science. Budditha Hettige
CSC 308 2.0 System Development with Java Exception Handling Department of Statistics and Computer Science 1 2 Errors Errors can be categorized as several ways; Syntax Errors Logical Errors Runtime Errors
More informationChapter 4: Control Structures I
Chapter 4: Control Structures I Java Programming: From Problem Analysis to Program Design, Second Edition Chapter Objectives Learn about control structures. Examine relational and logical operators. Explore
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us From this site you can click on the COSC-236
More information1. An operation in which an overall value is computed incrementally, often using a loop.
Practice Exam 2 Part I: Vocabulary (10 points) Write the terms defined by the statements below. 1. An operation in which an overall value is computed incrementally, often using a loop. 2. The < (less than)
More informationGarfield AP CS. User Input, If/Else. Most slides from Building Java Programs. Thanks, Stuart Regesand Marty Stepp!
Garfield AP CS User Input, If/Else Most slides from Building Java Programs. Thanks, Stuart Regesand Marty Stepp! Warmup Write a method add10 that takes one integer parameter. Your method should return
More informationCS 211: Existing Classes in the Java Library
CS 211: Existing Classes in the Java Library Chris Kauffman Week 3-2 Logisitics Logistics P1 Due tonight: Questions? Late policy? Lab 3 Exercises Thu/Fri Play with Scanner Introduce it today Goals Class
More information7. Java Input/Output. User Input/Console Output, File Input and Output (I/O)
116 7. Java Input/Output User Input/Console Output, File Input and Output (I/O) 117 User Input (half the truth) e.g. reading a number: int i = In.readInt(); Our class In provides various such methods.
More information! definite loop: A loop that executes a known number of times. " The for loops we have seen so far are definite loops. ! We often use language like
Indefinite loops while loop! indefinite loop: A loop where it is not obvious in advance how many times it will execute.! We often use language like " "Keep looping as long as or while this condition is
More informationThe keyword list thus far: The Random class. Generating "Random" Numbers. Topic 16
Topic 16 Creating Correct Programs "It is a profoundly erroneous truism, repeated by all the copybooks, and by eminent people when they are making speeches, that we should cultivate the habit of thinking
More informationAP Computer Science. Return values, Math, and double. Copyright 2010 by Pearson Education
AP Computer Science Return values, Math, and double Distance between points Write a method that given x and y coordinates for two points prints the distance between them If you can t do all of it, pseudocode?
More informationBuilding Java Programs
Building Java Programs Chapter 7 Lecture 7-3: File Output; Reference Semantics reading: 6.4-6.5, 7.1, 4.3, 3.3 self-checks: Ch. 7 #19-23 exercises: Ch. 7 #5 Two separate topics File output A lot like printing
More informationTopic 16. battle -they are strictly limited in number, they require fresh horses, and must only be made at decisive moments." -Alfred North Whitehead
Topic 16 Creating Correct Programs "It is a profoundly erroneous truism, repeated by all the copybooks, and by eminent people when they are making speeches, that we should cultivate the habit of thinking
More informationFirst Java Program - Output to the Screen
First Java Program - Output to the Screen These notes are written assuming that the reader has never programmed in Java, but has programmed in another language in the past. In any language, one of the
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site I have decided to keep this site for the whole semester I still hope to have blackboard up and running, but you
More informationExceptions and I/O: sections Introductory Programming. Errors in programs. Exceptions
Introductory Programming Exceptions and I/O: sections 80 83 Anne Haxthausen a IMM, DTU 1 Exceptions (section 80) 2 Input and output (I/O) (sections 81-83) a Parts of this material are inspired by/originate
More informationIntroductory Programming Exceptions and I/O: sections
Introductory Programming Exceptions and I/O: sections 80 83 Anne Haxthausen a IMM, DTU 1 Exceptions (section 80) 2 Input and output (I/O) (sections 81-83) a Parts of this material are inspired by/originate
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us From this site you can click on the COSC-236
More informationCONTENTS: Arrays Strings. COMP-202 Unit 5: Loops in Practice
CONTENTS: Arrays Strings COMP-202 Unit 5: Loops in Practice Computing the mean of several numbers Suppose we want to write a program which asks the user to enter several numbers and then computes the average
More informationWentworth Institute of Technology. Engineering & Technology WIT COMP1000. Java Basics
WIT COMP1000 Java Basics Java Origins Java was developed by James Gosling at Sun Microsystems in the early 1990s It was derived largely from the C++ programming language with several enhancements Java
More informationObject Oriented Programming and Design in Java. Session 2 Instructor: Bert Huang
Object Oriented Programming and Design in Java Session 2 Instructor: Bert Huang Announcements TA: Yipeng Huang, yh2315, Mon 4-6 OH on MICE clarification Next Monday's class canceled for Distinguished Lecture:
More informationH212 Introduction to Software Systems Honors
Introduction to Software Systems Honors Lecture #04: Fall 2015 1/20 Office hours Monday, Wednesday: 10:15 am to 12:00 noon Tuesday, Thursday: 2:00 to 3:45 pm Office: Lindley Hall, Room 401C 2/20 Printing
More informationFile I/O Array Basics For-each loop
File I/O Array Basics For-each loop 178 Recap Use the Java API to look-up classes/method details: Math, Character, String, StringBuffer, Random, etc. The Random class gives us several ways to generate
More informationAdvanced Java Concept Unit 1. Mostly Review
Advanced Java Concept Unit 1. Mostly Review Program 1. Create a class that has only a main method. In the main method create an ArrayList of Integers (remember the import statement). Add 10 random integers
More informationBuilding Java Programs
Building Java Programs Chapter 5 Random Numbers reading: 5.1, 5.6 1 http://xkcd.com/221/ 2 The while loop while loop: Repeatedly executes its body as long as a logical test is true. while (test) { statement(s);
More informationUniversità degli Studi di Bologna Facoltà di Ingegneria. Principles, Models, and Applications for Distributed Systems M
Università degli Studi di Bologna Facoltà di Ingegneria Principles, Models, and Applications for Distributed Systems M tutor Isam M. Al Jawarneh, PhD student isam.aljawarneh3@unibo.it Mobile Middleware
More informationLoops. Eng. Mohammed Abdualal. Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department
Islamic University of Gaza Faculty of Engineering Computer Engineering Department Computer Programming Lab (ECOM 2114) Created by Eng: Mohammed Alokshiya Modified by Eng: Mohammed Abdualal Lab 6 Loops
More informationText User Interfaces. Keyboard IO plus
Text User Interfaces Keyboard IO plus User Interface and Model Model: objects that solve problem at hand. User interface: interacts with user getting input from user giving output to user reporting on
More informationExceptions and Libraries
Exceptions and Libraries RS 9.3, 6.4 Some slides created by Marty Stepp http://www.cs.washington.edu/143/ Edited by Sarah Heckman 1 Exceptions exception: An object representing an error or unusual condition.
More informationReading Text Files. 1 Reading from text files: Scanner
Reading Text Files 1 Reading from text files: Scanner Text files, whether produced by a program or with a text editor, can be read by a program using class Scanner, part of the java.util package. We open
More information6. Java Errors and Exceptions
Errors and Exceptions in Java 6. Java Errors and Exceptions Errors and exceptions interrupt the normal execution of the program abruptly and represent an unplanned event. Exceptions are bad, or not? Errors,
More informationChapter 10. File I/O. Copyright 2016 Pearson Inc. All rights reserved.
Chapter 10 File I/O Copyright 2016 Pearson Inc. All rights reserved. Streams A stream is an object that enables the flow of data between a program and some I/O device or file If the data flows into a program,
More informationBjarne Stroustrup. creator of C++
We Continue GEEN163 I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone. Bjarne Stroustrup creator
More informationCOSC 123 Computer Creativity. Introduction to Java. Dr. Ramon Lawrence University of British Columbia Okanagan
COSC 123 Computer Creativity Introduction to Java Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Key Points 1) Introduce Java, a general-purpose programming language,
More informationCS115. Chapter 17 Exception Handling. Prof. Joe X. Zhou Department of Computer Science. To know what is exception and what is exception handling
CS115 Pi Principles i of fcomputer Science Chapter 17 Exception Handling Prof. Joe X. Zhou Department of Computer Science CS115 ExceptionHandling.1 Objectives in Exception Handling To know what is exception
More information2.8. Decision Making: Equality and Relational Operators
Page 1 of 6 [Page 56] 2.8. Decision Making: Equality and Relational Operators A condition is an expression that can be either true or false. This section introduces a simple version of Java's if statement
More informationCSE 1223: Introduction to Computer Programming in Java Chapter 7 File I/O
CSE 1223: Introduction to Computer Programming in Java Chapter 7 File I/O 1 Sending Output to a (Text) File import java.util.scanner; import java.io.*; public class TextFileOutputDemo1 public static void
More informationBuilding Java Programs
Building Java Programs Chapter 7: Arrays Lecture 7-3: More text processing, file output 1 Remember: charat method Strings are internally represented as char arrays String traversals are a common form of
More informationChapter 2: Basic Elements of Java
Chapter 2: Basic Elements of Java TRUE/FALSE 1. The pair of characters // is used for single line comments. ANS: T PTS: 1 REF: 29 2. The == characters are a special symbol in Java. ANS: T PTS: 1 REF: 30
More informationException Handling. General idea Checked vs. unchecked exceptions Semantics of... Example from text: DataAnalyzer.
Exception Handling General idea Checked vs. unchecked exceptions Semantics of throws try-catch Example from text: DataAnalyzer Exceptions [Bono] 1 Announcements Lab this week is based on the textbook example
More informationBuilding Java Programs
Building Java Programs Chapter 5 Lecture 5-1: while Loops, Fencepost Loops, and Sentinel Loops reading: 4.1, 5.1 self-check: Ch. 4 #2; Ch. 5 # 1-10 exercises: Ch. 4 #2, 4, 5, 8; Ch. 5 # 1-2 Copyright 2009
More informationObject-Oriented Programming in Java
CSCI/CMPE 3326 Object-Oriented Programming in Java Class, object, member field and method, final constant, format specifier, file I/O Dongchul Kim Department of Computer Science University of Texas Rio
More informationMidterm Examination (MTA)
M105: Introduction to Programming with Java Midterm Examination (MTA) Spring 2013 / 2014 Question One: [6 marks] Choose the correct answer and write it on the external answer booklet. 1. Compilers and
More informationBuilding Java Programs
Building Java Programs Chapter 4 Lecture 4-1: Scanner; if/else reading: 3.3 3.4, 4.1, 4.5 2 Interactive Programs with Scanner reading: 3.3-3.4 Interactive programs We have written programs that print console
More informationLecture 20. Java Exceptional Event Handling. Dr. Martin O Connor CA166
Lecture 20 Java Exceptional Event Handling Dr. Martin O Connor CA166 www.computing.dcu.ie/~moconnor Topics What is an Exception? Exception Handler Catch or Specify Requirement Three Kinds of Exceptions
More informationCOMP 110 Programming Exercise: Simulation of the Game of Craps
COMP 110 Programming Exercise: Simulation of the Game of Craps Craps is a game of chance played by rolling two dice for a series of rolls and placing bets on the outcomes. The background on probability,
More information