CSCI 161 Introduction to Computer Science
|
|
- Vivian Gardner
- 5 years ago
- Views:
Transcription
1 CSCI 161 Introduction to Computer Science Department of Mathematics and Computer Science Lecture 7 File Input/Output
2 Motivation for File I/O So far: Just relying on the user for data input/output (I/O)... Problem 1: Today's applications are mostly data-driven Many programs require large amount of data to be input into a program - Inputting data by hand is very error-prone and tedious - If program crashes... need to start over - Need: to input data from a file to a program 2
3 Motivation (Cont.) Examples of Input Files: Enter the height of all known Sitka Spruce in Olympic National Park Enter the U.S. census data Enter our customers' data Enter all the synonyms and root words for a chat bot... 3
4 Motivation (Cont.) Problem 2: Output can be large (or even continuous)! Many programs run continuously, generating output - Health-monitor (Fitbit, etc.), for instance. But we only know how to output to the screen - How do you make sense of data that is streaming past your eyes at insane rates? Need: to output to a file, and analyze the data in that file later! 4
5 Outline File Input/Output Reading from Files: Scanner Writing to Files: PrintWriter Parsing Input Splitting/Tokenizing Type Conversion of Strings Putting It All Together Tweet Processing 5
6 Assume... We have a file, tree_height.txt, that is in the BlueJ project folder 6
7 Opening Files Content of tree_height.txt (each line is a tree's height) Want: TreeAnalyzer class A constructor that inputs the name of the file, stores its data in an ArrayList Methods that operate over the data now stored in the ArrayList 7
8 Opening Files (Cont.) Include at the top of the class: import java.io.file; import java.io.filenotfoundexception; import java.util.scanner; How to open a file for reading (need a Scanner object): Important! The methods and/or constructors that opens the file needs to indicate that it may throw an exception. public void somemethod(string filename) throws FileNotFoundException { //open the file Scanner file = new Scanner(new File(filename)); } //file is open, now what? Let's take a peek at Scanner's API 8
9 Review: Java's Scanner API Method public Scanner(File source) public Scanner(InputStream source) public boolean hasnext() Descrip-on Constructor. Creates a scanner on the given file. Constructor. Creates a scanner on the given stream (later). Returns true if the scanner has another token. public String nextline() Returns an entire line of input as a String. public void close() Closes the scanner. 9
10 Let's Write a TreeAnalyzer Class TreeAnalyzer Class A constructor that inputs a file name. Opens the file and reads its contents into an ArrayList. public void open(string filename). Reads file contents into an ArrayList. public double gettallest() that returns the max tree height. public ArrayList<Double> gettreeslessthan(double limit) that returns the list of trees shorter than the given limit. public void report() that prints the following info on the screen: File name: (name of file you opened) Number of trees: (number of trees in the file) Tallest tree height: (tallest tree found in file) Code is posted on course page! 10
11 TreeAnalyzer public class TreeAnalyzer { private ArrayList<Double> listofheights; private String thefile; //stores a list of tree heights //name of the file that we opened public TreeAnalyzer(String filename) throws FileNotFoundException { //instantiate an empty arraylist listofheights = new ArrayList<Double>(); thefile = filename; open(thefile); } } //other methods omitted 11
12 TreeAnalyzer public class TreeAnalyzer { private ArrayList<Double> listofheights; private String thefile; //stores a list of tree heights //name of the file that we opened public TreeAnalyzer(String filename) throws FileNotFoundException { //instantiate an empty arraylist listofheights = new ArrayList<Double>(); thefile = filename; open(thefile); } public void open(string filename) throws FileNotFoundException { //clear out the ArrayList, which holds data from the previously opened file listofheights.clear(); } //open the given file for reading Scanner file = new Scanner(new File(filename)); while (file.hasnext()) { String line = file.nextline(); //grab the next line from the file double treeheight = Double.parseDouble(line); //grab the next line from the file listofheights.add(treeheight); //add it to my list } file.close(); } //other methods omitted 12
13 Outline File Input/Output Reading from Files: Scanner Writing to Files: PrintWriter Parsing Input Splitting/Tokenizing Type Conversion of Strings Putting It All Together Tweet Processing 13
14 Writing to Files? TreeAnalyzer Class We know how to read from files... how about writing to files? public void reporttofile(string filename) that writes the file's info into a file, in the following format: File name: tree_height.txt Number of trees: Tallest tree height: 14
15 Writing to Files Include at the top of the class: import java.io.printwriter; import java.io.filenotfoundexception; How to open a file for writing: Again, methods using a PrintWriter requires you to throw an Exception //constructor public void somemethod(string filename) throws FileNotFoundException { //open the file for writing PrintWriter fileout = new PrintWriter(new File(filename)); } //file is open, now what? Let's take a peek at PrintWriter's API 15
16 Java's PrintWriter API Method Descrip-on public PrintWriter(File destination) public void close() public void print(string s) public void println(string s) Constructor. Opens the given file for writing. Closes the file after you're done writing to it. (Must be done!) Prints the given string to the opened file Prints the given string and a newline to the opened file Back to this: public void reporttofile(string filename) that writes the file's info into a file, in the following format: Code is posted on course page! 16
17 Still in TreeAnalyzer /** * Writes a summary of the data to the file indicated by the given filename filename the name of file to write into */ public void reporttofile(string filename) throws FileNotFoundException { PrintWriter fileout = new PrintWriter(new File(filename)); fileout.println(" "); fileout.println("file name: " + thefile); fileout.println(" "); fileout.println("total number of trees: " + listofheights.size()); fileout.println("tallest tree height: " + gettallest()); fileout.close(); } 17
18 Outline File Input/Output Reading from Files: Scanner Writing to Files: PrintWriter Parsing Input Splitting/Tokenizing Type Conversion of Strings Putting It All Together Tweet Processing 18
19 Dealing with More Complicated Input Most files are tab- or comma-delimited (separated) per line Let's say each line holds data about a Robot, and we want to create a RobotArmy: - Each line contains the Robot's (x,y) coordinates, whether it's visible, whether it's colorful, respectively. # x,y,visible,colorful (just a comment -- skip!) 0,50,true,false 200,150,true,true 100,250,true,false 300,150,false,false 240,0,true,true 200,350,true,true Want: Add a method to RobotArmy, public int addrobots(string filename), that adds Robots from the given file, and returns the number of Robots added. 19
20 Dealing with More Complicated Input (Cont.) Most files are tab- or comma-delimited (separated) per line: - Each line contains the Robot's coordinates, whether it's visible, whether it's colorful, respectively. Recall the Robot API: # x,y,visible,colorful (just a comment -- skip!) 0,50,true,false 200,150,true,true 100,250,true,false 300,150,false,false 240,0,true,true 200,350,true,true Method public Robot() public void moveto(int x, int y) public void makecolorful() public void makemonochrome() Descrip-on Constructor. Creates a new Robot object Moves a robot to the given location Colors the robot Changes the robot to black and white 20
21 Tokenizing Strings There are two common ways to tokenize a String: StringTokenizer class (You know this one from HW5 TweetParser) String's split() method (example below) Also from the String API: Method public String[] split(string delim) Descrip-on Tokenizes the current String by the given delimiter. Return an array of tokens. 21
22 Using the split() Method Example String str = "Hello world! 1 2 3"; String[] words = str.split(" "); //tokenizes by whitespace 22
23 Using the split() Method Example String str = "Hello world! 1 2 3"; String[] words = str.split(" "); //tokenizes by whitespace System.out.println(words.length); //how many tokens? > 5 (int) 23
24 Using the split() Method Example String str = "Hello world! 1 2 3"; String[] words = str.split(" "); //tokenizes by whitespace System.out.println(words.length); //how many tokens? > 5 (int) System.out.println(words[0]); > "Hello" (String) System.out.println(words[1]); > "world!" (String) System.out.println(words[2]); //String with a value of "1" (not an int!!) > "1" (String) System.out.println(words[3]); > "2" (String) System.out.println(words[4]); > "3" (String) How do we convert these to ints?! Can't cast from String 24
25 Converting Strings to Other Types Important! We still need to convert Strings holding numbers to an int, or double. Know these! From the Boolean wrapper class: Method public static boolean parseboolean(string s) Descrip-on Returns a boolean given the String representation From the Double wrapper class: Method public static double parsedouble(string s) Descrip-on Returns a double given the String representation From the Integer wrapper class: Method public static int parseinteger(string s) Descrip-on Returns a int given the String representation 25
26 Using the split() Method Example String str = "Hello world! 1 2 3"; String[] words = str.split(" "); //tokenizes by whitespace System.out.println(words.length); //how many tokens? > 5 (int) System.out.println(words[0]); > "Hello" (String) System.out.println(words[1]); > "world!" (String) System.out.println(Integer.parseInt(words[2])); //now it's an int! > 1 (int) System.out.println(Integer.parseInt(words[3])); > 2 (int) System.out.println(Integer.parseInt(words[4])); > 3 (int) 26
27 Putting It All Together File Contents - Each line contains the Robot's coordinates, whether it's visible, whether it's colorful, respectively. # x,y,visible,colorful (just a comment -- skip!) 0,50,true,false 200,150,true,true 100,250,true,false 300,150,false,false 240,0,true,true 200,350,true,true Add a method to RobotArmy, public int addrobots(string filename), that adds Robots from the given file, and returns the number of Robots added. - Problem 1: Need to extract "tokens" from each line of input (use split() or tokenizer) - Problem 2: Need to parse tokens into ints and booleans (use parse* methods from the wrapper classes) <<Let's implement it>> - Code on course page: RobotArmy_FileIO.zip 27
28 Outline File Input/Output Reading from Files: Scanner Writing to Files: PrintWriter Parsing Input Splitting/Tokenizing Type Conversion of Strings Putting It All Together Tweet Processing 28
29 Processing Real Data Let's put your TweetParser to use! Recall the following API you wrote for HW 5 Method public TweetParser() Descrip-on Constructor. Creates a default TweetParser public boolean ishashtag(string s) public boolean ismention(string s) Returns true if the given string is a #hashtag Returns true if the given string is public void processtweet(string tweet) public void printreport() public void reset() Parses the given tweet and updates statistics Prints out the statistics that were collected from the processed tweets Resets all statistics 29
30 Example Usage of Current Class TweetParser tp = new TweetParser(); tp.processtweet("@erin and the Lady Logs vie for the D3 championship! tp.processtweet("what a send-off! Good luck, Loggers! Logger Sports Network: Good #LoggerUP"); tp.printreport(); > Number of Tweets: 2 > Number of Terms: 27 > Number of Hashtags: 2 > Number of Mentions: 4 Wouldn't it be great if, instead of calling processtweet() by hand on each tweet, we input a file instead? Write a class, TweetsAnalyzer with a single method, - public void processtweetsfromfile(string filename) 30
31 Working with Real Twitter Data We collected data from the Twitter feed for a week straight in Stored it in tweets.txt Tab-Delimited Format: date [tab] handle [tab] tweet_content :52: BrandonChild21 Why do I always have to miss track on the nice days :58: Xo_laj Oh my goooodddd Paul Wesley ï ßòâ ï ßòªï ßòé :00: KoBAEne_Kist Eyes of the world - Dillon Cooper ft azizi Gibson/denzel curry :05: carizzzzle why not ï ßòõ (lots more) Idea: Open the file, and for each line in the file, - Tokenize it: Split line up by a tab. A tab in Java is: "\t" - Throw out first two tokens - Call processtweet() on the final token Report the results! Code Provided on course page: Lec6_TweetProcessor_FileIO.zip 31
32 Code for TweetsAnalyzer public class TweetsAnalyzer { private TweetProcessor tweetprocessor; public TweetsAnalyzer() { tweetprocessor = new TweetProcessor(); } public void processtweetsfromfile(string filename) throws FileNotFoundException { Scanner file = new Scanner(new File(filename)); while (file.hasnext()) { //grab a tweet from the file (one per line) String tweet = file.nextline(); } //the tweet content "payload" is the third token! String[] tokens = tweet.split("\t"); tweetprocessor.processtweet(tokens[2]); } } //print out the report! tweetprocessor.printreport(); 32
33 Administrivia 4/5 Some reminders: Lec 6 (Scanner, HashMap) posted Exam II next week!!! Lab 9 Smarter Bot Things worth mentioning: - People not using/bringing their API handouts - Finding something in a HashMap does not require loops Unlike arrays and ArrayLists 33
34 Administrivia 4/8 Posted Solution to Hwk 6 Homework 7 (Due Wed, 4/17) Reminder: Review Wednesday, exam Thursday Practice old lab: ComboGuesser (hits Arrays and loops hard) - Solution is given Talk tonight! Windows Internals: Multi-Core, Virtualization, and Persistent Memory - Matt Holle, Group Manager, Microsoft - Where: Thompson Hall Where: Monday, April 8th, 4pm 34
35 Administrivia (Cont.) Need student volunteers for faculty search Professor Chambers 35
CSCI 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 informationCSCI 161 Introduction to Computer Science
CSCI 161 Introduction to Computer Science Department of Mathematics and Computer Science Lecture 2b A First Look at Class Design Last Time... We saw: How fields (instance variables) are declared How methods
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 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 informationComputer Science 300 Sample Exam Today s Date 100 points (XX% of final grade) Instructor Name(s) (Family) Last Name: (Given) First Name:
Computer Science 300 Sample Exam Today s Date 100 points (XX% of final grade) Instructor Name(s) (Family) Last Name: (Given) First Name: CS Login Name: NetID (email): @wisc.edu Circle your Lecture: Lec001
More informationFall 2017 CISC124 10/1/2017
CISC124 Today First onq quiz this week write in lab. More details in last Wednesday s lecture. Repeated: The quiz availability times will change to match each lab as the week progresses. Useful Java classes:
More informationChapter 4 Classes in the Java Class Libraries
Programming Fundamental I ACS-1903 Chapter 4 Classes in the Java Class Libraries 1 Random Random The Random class provides a capability to generate pseudorandom values pseudorandom because the stream of
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 informationA+ Computer Science -
Visit us at www.apluscompsci.com Full Curriculum Solutions M/C Review Question Banks Live Programming Problems Tons of great content! www.facebook.com/apluscomputerscience Scanner kb = new Scanner(System.in);
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 information5/24/2006. Last Time. Announcements. Today. Method Overloading. Method Overloading - Cont. Method Overloading - Cont. (Midterm Exam!
Last Time Announcements (Midterm Exam!) Assn 2 due tonight. Before that methods. Spring 2006 CISC101 - Prof. McLeod 1 Spring 2006 CISC101 - Prof. McLeod 2 Today Look at midterm solution. Review method
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 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 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 informationCSC 222: Object-Oriented Programming. Fall 2017
CSC 222: Object-Oriented Programming Fall 2017 Lists, data storage & access ArrayList class methods: add, get, size, remove, contains, set, indexof, tostring generics, for-each loop example: Dictionary
More informationCSCI 136 Written Exam #0 Fundamentals of Computer Science II Spring 2015
CSCI 136 Written Exam #0 Fundamentals of Computer Science II Spring 2015 Name: This exam consists of 6 problems on the following 7 pages. You may use your single-sided handwritten 8 ½ x 11 note sheet during
More information5/29/2006. Announcements. Last Time. Today. Text File I/O Sample Programs. The File Class. Without using FileReader. Reviewed method overloading.
Last Time Reviewed method overloading. A few useful Java classes: Other handy System class methods Wrapper classes String class StringTokenizer class Assn 3 posted. Announcements Final on June 14 or 15?
More informationDynamic Arrays. Fundamentals of Computer Science
Dynamic Arrays Fundamentals of Computer Science Outline Dynamically sized arrays Java ArrayList Like an array but extra-powerful Has no fixed sized Add/remove elements dynamically as needed Contains objects
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 informationFiles. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington
Files CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1 Files and Text Files A file is a collection of data, that is saved on a hard drive. A text
More informationFiles & Exception Handling. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington
Files & Exception Handling CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1 Exception Handling (try catch) Suppose that a line of code may make your
More informationFiles. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington
Files CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1 Files and Text Files A file is a collection of data, that is saved on a hard drive. A text
More informationChapter 4 Defining Classes I
Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the
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 informationHST 952. Computing for Biomedical Scientists Lecture 8
Harvard-MIT Division of Health Sciences and Technology HST.952: Computing for Biomedical Scientists HST 952 Computing for Biomedical Scientists Lecture 8 Outline Vectors Streams, Input, and Output in Java
More informationChapter 12. File Input and Output. CS180-Recitation
Chapter 12 File Input and Output CS180-Recitation Reminders Exam2 Wed Nov 5th. 6:30 pm. Project6 Wed Nov 5th. 10:00 pm. Multitasking: The concurrent operation by one central processing unit of two or more
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 informationMandatory Assignment 1, INF 4130, 2017
Mandatory Assignment 1, INF 4130, 2017 Deadline: Monday October 2. First: Read the general requirements for mandatory assignments at the department here: Norwegian: https://www.uio.no/studier/admin/obligatoriske-aktiviteter/mn-ifi-obliger-retningslinjer.html
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 information} Evaluate the following expressions: 1. int x = 5 / 2 + 2; 2. int x = / 2; 3. int x = 5 / ; 4. double x = 5 / 2.
Class #10: Understanding Primitives and Assignments Software Design I (CS 120): M. Allen, 19 Sep. 18 Java Arithmetic } Evaluate the following expressions: 1. int x = 5 / 2 + 2; 2. int x = 2 + 5 / 2; 3.
More informationProgramming for Mobile Computing
1/22 Programming for Mobile Computing EECS 1022 moodle.yorku.ca Drop deadline 2/22 July 21 Until this date you can drop the course without getting a grade for it and, hence, it will not affect your gpa.
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 informationCS61BL. Lecture 1: Welcome to CS61BL! Intro to Java and OOP Testing Error-handling
CS61BL Lecture 1: Welcome to CS61BL! Intro to Java and OOP Testing Error-handling About me Name: Edwin Liao Email: edliao@berkeley.edu Office hours: Thursday 3pm - 5pm Friday 11am - 1pm 611 Soda Or by
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 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 informationCS 455 Midterm Exam 2 Fall 2015 [Bono] Nov. 10, 2015
Name: USC NetID (e.g., ttrojan): CS 455 Midterm Exam 2 Fall 2015 [Bono] Nov. 10, 2015 There are 9 problems on the exam, with 54 points total available. There are 8 pages to the exam (4 pages double-sided),
More informationCOMP Streams and File I/O. Yi Hong June 10, 2015
COMP 110-001 Streams and File I/O Yi Hong June 10, 2015 Today Files, Directories, Path Streams Reading from a file Writing to a file Why Use Files for I/O? RAM is not persistent Data in a file remains
More informationCSC 321: Data Structures. Fall 2016
CSC 321: Data Structures Fall 2016 Balanced and other trees balanced BSTs: AVL trees, red-black trees TreeSet & TreeMap implementations heaps priority queue implementation heap sort 1 Balancing trees recall:
More informationCSC 321: Data Structures. Fall 2017
CSC 321: Data Structures Fall 2017 Balanced and other trees balanced BSTs: AVL trees, red-black trees TreeSet & TreeMap implementations heaps priority queue implementation heap sort 1 Balancing trees recall:
More informationCSC 222: Object-Oriented Programming. Spring 2012
CSC 222: Object-Oriented Programming Spring 2012 Lists, data storage & access ArrayList class methods: add, get, size, remove, contains, set, indexof, tostring generics, for-each loop autoboxing & unboxing
More informationCOMP-202: Foundations of Programming. Lecture 12: Linked List, and File I/O Sandeep Manjanna, Summer 2015
COMP-202: Foundations of Programming Lecture 12: Linked List, and File I/O Sandeep Manjanna, Summer 2015 Announcements Assignment 4 is posted and Due on 29 th of June at 11:30 pm. Course Evaluations due
More informationAdam Blank Lecture 2 Winter 2019 CS 2. Introduction to Programming Methods
Adam Blank Lecture 2 Winter 2019 CS 2 Introduction to Programming Methods CS 2: Introduction to Programming Methods File I/O, Object Oriented Programming, and Lists Questions From Last Time 1 What are
More informationProgramming Assignment Comma Separated Values Reader Page 1
Programming Assignment Comma Separated Values Reader Page 1 Assignment What to Submit 1. Write a CSVReader that can read a file or URL that contains data in CSV format. CSVReader provides an Iterator for
More informationAnnouncements. 1. Forms to return today after class:
Announcements Handouts (3) to pick up 1. Forms to return today after class: Pretest (take during class later) Laptop information form (fill out during class later) Academic honesty form (must sign) 2.
More informationCS 302: Introduction to Programming in Java. Lectures 17&18. It s insanely hot. People desperately need some snowflakes
CS 302: Introduction to Programming in Java Lectures 17&18 It s insanely hot. People desperately need some snowflakes Static variables Again (class variables) Variables unique to the class (all objects
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 information16-Dec-10. Collections & Data Structures ABSTRACTION VS. IMPLEMENTATION. Abstraction vs. Implementation
Collections & Data Structures Boaz Kantor Introduction to Computer Science IDC Herzliya ABSTRACTION VS. IMPLEMENTATION 2 Abstraction vs. Implementation Data structures provide both abstraction and implementation.
More informationLecture 7. File Processing
Lecture 7 File Processing 1 Data (i.e., numbers and strings) stored in variables, arrays, and objects are temporary. They are lost when the program terminates. To permanently store the data created in
More informationLecture 22. Java Input/Output (I/O) Streams. Dr. Martin O Connor CA166
Lecture 22 Java Input/Output (I/O) Streams Dr. Martin O Connor CA166 www.computing.dcu.ie/~moconnor Topics I/O Streams Writing to a Stream Byte Streams Character Streams Line-Oriented I/O Buffered I/O
More informationFaculty of Science COMP-202A - Introduction to Computing I (Fall 2008) Final Examination
First Name: Last Name: McGill ID: Section: Faculty of Science COMP-202A - Introduction to Computing I (Fall 2008) Final Examination Thursday, December 11, 2008 Examiners: Mathieu Petitpas [Section 1] 14:00
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 informationCS 180. Recitation 8 / {30, 31} / 2007
CS 180 Recitation 8 / 30, 31 / 2007 Announcements Project 1 is out Due 9/5 @ 10:00pm Start early! Use the newsgroup for your questions LWSN B146 Lab help hours 7-10pm Monday through Wednesday Naming Conventions
More informationIT 313 Advanced Application Development
Page 1 of 7 IT 313 Advanced Application Development Practice Midterm Exam Part A. Multiple Choice Questions. Answer all questions. Optional: supply a reason or show work for partial credit in case you
More informationCOMP102: Test 2 Model Solutions
Family Name:.......................... Other Names:.......................... ID Number:............................ Instructions Time allowed: 90 minutes (1 1 2 hours). There are 90 marks in total. Answer
More informationWhat did we talk about last time? Examples switch statements
Week 4 - Friday What did we talk about last time? Examples switch statements History of computers Hardware Software development Basic Java syntax Output with System.out.print() Mechanical Calculation
More informationMidterm Exam 2 Thursday, November 15th, points (15% of final grade) Instructors: Jim Williams and Marc Renault
Computer Sciences 200 Midterm Exam 2 Thursday, November 15th, 2018 100 points (15% of final grade) Instructors: Jim Williams and Marc Renault (Family) Last Name: (Given) First Name: CS Login Name: NetID
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 informationObjec&ves. Review. Standard Error Streams
Objec&ves Standard Error Streams Ø Byte Streams Ø Text Streams Oct 5, 2016 Sprenkle - CSCI209 1 Review What are benefits of excep&ons What principle of Java do files break if we re not careful? What class
More informationCE221 Programming in C++ Part 1 Introduction
CE221 Programming in C++ Part 1 Introduction 06/10/2017 CE221 Part 1 1 Module Schedule There are two lectures (Monday 13.00-13.50 and Tuesday 11.00-11.50) each week in the autumn term, and a 2-hour lab
More informationFull file at
Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class
More informationSimple Java Input/Output
Simple Java Input/Output Prologue They say you can hold seven plus or minus two pieces of information in your mind. I can t remember how to open files in Java. I ve written chapters on it. I ve done it
More informationData Structures Lecture 1
Fall 2018 Fang Yu Software Security Lab. Dept. Management Information Systems, National Chengchi University Data Structures Lecture 1 A brief review of Java programming Popularity of Programming Languages
More informationCOMP-202: Foundations of Programming. Lecture 26: Image Manipulation; Wrap-Up Jackie Cheung, Winter 2015
COMP-202: Foundations of Programming Lecture 26: Image Manipulation; Wrap-Up Jackie Cheung, Winter 2015 Announcements Assignment 6 due Tue Apr 14 at 11:59pm Final is scheduled for Apr 29, 6pm 9pm Please
More informationCharacter Functions & Manipulators Arrays in C++ CS 16: Solving Problems with Computers I Lecture #10
Character Functions & Manipulators Arrays in C++ CS 16: Solving Problems with Computers I Lecture #10 Ziad Matni Dept. of Computer Science, UCSB Lecture Outline Useful character manipulators & functions
More informationName: Checked: Preparation: Write the output of DeckOfCards.java to a text file Submit through Blackboard by 8:00am the morning of Lab.
Lab 14 Name: Checked: Objectives: Practice handling exceptions and writing text files. Preparation: Write the output of DeckOfCards.java to a text file Submit through Blackboard by 8:00am the morning of
More informationCS Introduction to Data Structures Week 1 Thursday
CS 367 - Introduction to Data Structures Week 1 Thursday We assume that you are proficient at object-oriented programming in Java. Please enroll in CS300 if you do not know Java and have not written object-oriented
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 informationCS 151. Exceptions & Javadoc. slides available on course website. Sunday, September 9, 12
CS 151 Exceptions & Javadoc slides available on course website 1 Announcements Prelab 1 is due now. Please place it in the appropriate (Mon vs. Tues) box. Please attend lab this week. There may be a lecture
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 informationCSC 222: Object-Oriented Programming. Fall 2017
CSC 222: Object-Oriented Programming Fall 2017 Object-oriented design example: letter frequencies ArrayLists vs. arrays, autoboxing example: word frequencies w/ parallel lists exception handling, System.out.format
More informationCSE 333. Lecture 11 - constructor insanity. Hal Perkins Paul G. Allen School of Computer Science & Engineering University of Washington
CSE 333 Lecture 11 - constructor insanity Hal Perkins Paul G. Allen School of Computer Science & Engineering University of Washington Administrivia Exercises: - New exercise out today, due Monday morning
More informationDining philosophers (cont)
Administrivia Assignment #4 is out Due Thursday April 8, 10:00pm no late assignments will be accepted Sign up in labs this week for a demo time Office hour today will be cut short (11:30) Another faculty
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 informationData Structures. BSc in Computer Science University of New York, Tirana. Assoc. Prof. Marenglen Biba 1-1
Data Structures BSc in Computer Science University of New York, Tirana Assoc. Prof. Marenglen Biba 1-1 General info Course : Data Structures (3 credit hours) Instructor : Assoc. Prof. Marenglen Biba Office
More informationWhen we reach the line "z = x / y" the program crashes with the message:
CSCE A201 Introduction to Exceptions and File I/O An exception is an abnormal condition that occurs during the execution of a program. For example, divisions by zero, accessing an invalid array index,
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 30 April 4, 2018 I/O & Histogram Demo Chapters 28 HW7: Chat Server Announcements No penalty for late submission by tomorrow (which is a HARD deadline!)
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 30 April 2, 2012 Streams & IO HW 09 will be available today Announcements Covers Java libraries: colleclons & IO Last automalcally graded HW assignment
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 informationDefensive Programming
Defensive Programming Software Engineering CITS1220 Based on the Java1200 Lecture notes by Gordon Royle Lecture Outline Why program defensively? Encapsulation Access Restrictions Documentation Unchecked
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 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 informationCSE 21 Intro to Computing II. JAVA Objects: String & Scanner
CSE 21 Intro to Computing II JAVA Objects: String & Scanner 1 Schedule to Semester s End Week of 11/05 - Lecture #8 (11/07), Lab #10 Week of 11/12 - Lecture #9 (11/14), Lab #11, Project #2 Opens Week of
More informationFile Input/Output. Introduction to Computer Science I. Overview (1): Overview (2): CSE 1020 Summer Bill Kapralos. Bill Kapralos.
File Input/Output Tuesday, July 25 2006 CSE 1020, Summer 2006, Overview (1): Before We Begin Some administrative details Some questions to consider The Class Object What is the Object class? File Input
More informationStarting Out with Java: From Control Structures Through Objects Sixth Edition
Starting Out with Java: From Control Structures Through Objects Sixth Edition Chapter 11 I/O File Input and Output Reentering data all the time could get tedious for the user. The data can be saved to
More informationJAVA PROGRAMMING (45) Technical Task KEY. Regional 2013
5 Pages JAVA PROGRAMMING (45) Technical Task Regional 2013 Judges/Graders: Please double-check and verify all scores! Property of Business Professionals of America. May be reproduced only for use in the
More informationCSC 222: Object-Oriented Programming. Fall Object-oriented design
CSC 222: Object-Oriented Programming Fall 2015 Object-oriented design example: word frequencies w/ parallel lists exception handling System.out.format example: word frequencies w/ objects object-oriented
More informationAnnouncements/Follow-ups
Announcements/Follow-ups Midterm 2 graded Average was 52/80 (63%), Std. Dev. was 12 P5 and Lab8 P5 due tomorrow Very light Lab8 Practice with collections Due at end of lab period P6 posted tomorrow Due
More informationLecture 6. Assignments. Java Scanner. User Input 1/29/18. Reading: 2.12, 2.13, 3.1, 3.2, 3.3, 3.4
Assignments Reading: 2.12, 2.13, 3.1, 3.2, 3.3, 3.4 Lecture 6 Complete for Lab 4, Project 1 Note: Slides 12 19 are summary slides for Chapter 2. They overview much of what we covered but are not complete.
More informationCOMP102: Test. 26 April, 2006
Name:.................................. ID Number:............................ Signature:.............................. COMP102: Test 26 April, 2006 Instructions Time allowed: 90 minutes (1 1 2 hours).
More informationFull file at
Chapter 1 Primitive Java Weiss 4 th Edition Solutions to Exercises (US Version) 1.1 Key Concepts and How To Teach Them This chapter introduces primitive features of Java found in all languages such as
More informationLecture 6. Assignments. Summary - Variables. Summary Program Parts 1/29/18. Reading: 3.1, 3.2, 3.3, 3.4
Assignments Lecture 6 Complete for Project 1 Reading: 3.1, 3.2, 3.3, 3.4 Summary Program Parts Summary - Variables Class Header (class name matches the file name prefix) Class Body Because this is a program,
More informationCSCI 136 Written Exam #1 Fundamentals of Computer Science II Spring 2014
CSCI 136 Written Exam #1 Fundamentals of Computer Science II Spring 2014 Name: This exam consists of 5 problems on the following 6 pages. You may use your double- sided hand- written 8 ½ x 11 note sheet
More informationCOMP-202: Foundations of Programming. Lecture 22: File I/O Jackie Cheung, Winter 2015
COMP-202: Foundations of Programming Lecture 22: File I/O Jackie Cheung, Winter 2015 Announcements Assignment 5 due Tue Mar 31 at 11:59pm Quiz 6 due Tue Apr 7 at 11:59pm 2 Review 1. What is a graph? How
More informationYou must bring your ID to the exam.
Com S 227 Spring 2017 Topics and review problems for Exam 2 Monday, April 3, 6:45 pm Locations, by last name: (same locations as Exam 1) A-E Coover 2245 F-M Hoover 2055 N-S Physics 0005 T-Z Hoover 1213
More informationConverting Collections to Arrays. A Bad Approach to Array Conversion. A Better Approach to Array Conversion. public Object[] toarray();
Converting Collections to Arrays Every Java collection can be converted to an array This is part of the basic Collection interface The most elementary form of this method produces an array of base-type
More informationRobots. Byron Weber Becker. chapter 6
Using Variables Robots Learning to Program with Java Byron Weber Becker chapter 6 Announcements (Oct 5) Chapter 6 You don t have to spend much time on graphics in Ch6 Just grasp the concept Reminder: Reading
More informationCS 231 Data Structures and Algorithms Fall 2018
CS 231 Data Structures and Algorithms Fall 2018 Interface, Node Based Stack, Exception Handling, Class BufferedReader Lecture 12 October 1, 2018 Prof. Zadia Codabux 1 Agenda Node based implementation of
More informationCS 211: Inheritance. Chris Kauffman. Week 5-2
CS 211: Inheritance Chris Kauffman Week 5-2 Logistics Goals Today Dynamic Dispatch Inheritance and Overrides Reminder: Career Fair 11:00 a.m.- 4:00 p.m. Dewberry Hall Wed 2/18: Science/Tech Thu 2/19: Business/Non-tech
More informationASSIGNMENT 5 Objects, Files, and More Garage Management
ASSIGNMENT 5 Objects, Files, and More Garage Management COMP-202B, Winter 2010, All Sections Due: Wednesday, April 14, 2009 (23:55) You MUST do this assignment individually and, unless otherwise specified,
More informationCOMP102: 181. Menu. More while loops. Admin: Test. Peter Andreae
Menu COMP102: 181 More while loops Admin: Test Designing loops with numbers COMP102: 182 When the number of steps is known at the beginning of the loop: int count = 0; int num = 1; while ( count < number)
More information