SlideShare a Scribd company logo
1A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Frank NIELSEN
nielsen@lix.polytechnique.fr
A Concise and
Practical
Introduction to
Programming
Algorithms in Java
Chapter 4: Arrays and strings
2A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Why do we need arrays?
● To handle many variables at once
● Processing many data or generating many results
● In mathematics, we are familiar with variables
with indices:
In most languages, indices start at zero
(and not one).
...Just a convention
3A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Declaring arrays in Java
For a given type, TYPE[ ] is the type of arrays
storing elements of type TYPE.
● For arrays declared within the scope of functions:
● int [ ] x;
● boolean [ ] prime;
● double [ ] coordinates;
● float [ ] [ ] matrix;
● For arrays declared in the body of a class, use the keyword static:
(array variables can be used by any function of the class)
● static int [ ] x;
● static boolean [ ] prime;
4A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Building and initializing arrays
Observe:
static boolean prime[ ]={ false, true, true, true, false, true, false, true, false, false };
but not
static boolean prime[10]={ false, true, true, true, false, true, false, true, false, false };
5A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Building and initializing arrays
● Declare array with the reserved keyword new
● Specify the size of the array at built time
● Arrays can be declared and initialized at once too:
● int [ ] x;
● x=new int [32];
● boolean [ ] prime = new boolean[16];
● Arrays initialized by enumerating all its values:
int [ ] prime={2, 3, 5, 7, 11, 13, 17, 19};
6A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Size of arrays
Size of arrays is given by the member function length:
prime.length;
System.out.println(prime.length);
Size of arrays fixed for once, cannot be changed:
array.length=23; // Generate an error
7A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Size of arrays
8A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Index range of arrays and exceptions
Powerful mechanism of modern languages (Java, C++)
If index is out of range, an exception is raised on the fly:
ArrayIndexOutOfBounds
Out of range accesses may not be detected by the compiler:
Bug that yields termination or system crash
... However, fortunately, Java can catch exceptions too.
9A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Size of arrays cannot be modified
10A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Index range of arrays and exceptions
Observe the correct parsing
11A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
The concept of references
An array is allocated as a single contiguous memory block
Java is managing memory so you do not have to free it
once the array is not used anymore: garbage collector
An array variable is, in fact, a reference to the array
This reference of the array is the symbolic address of
the first element (index 0)
Thus, when we write...
int [ ] v = {0, 1, 2, 3, 4};
int [ ] t =v;
t[2]++;
System.out.println(t[2]++);
... the elements of the array v are not copied verbatim to t. Only the reference!!!
12A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Arrays & references
13A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Functions & arrays
Functions and procedures can have arrays as arguments.
(remember that array types are: TypeElement[ ])
Example: Function that returns the minimum of an array of integers
14A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Functions & arrays
Example: Function that returns the inner product of 2 vectors
(produit scalaire)
15A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Array arguments in functions
A variable that has a type array is a reference to the array
(the memory address of the first element)
Therefore an argument of type array does not copy
all array elements in the memory allocated for the function,
but rather allocate a single memory reference:
a machine word.
static void MyFunction(int [ ] x)
MyFunction(v);
Only the reference of v is copied to the memory allocated for
the function MyFunction.
16A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Array arguments in functions
Thus we can modify the inside a function the contents of
the array: the values of the elements of the array.
17A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Functions returning an array
18A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Arrays of arrays...
So far, we described linear array (1D).
What about matrices (2D arrays)?
A bidimensional array (n,m) consists of n lines,
each of which is an array of m elements
int [ ] [ ] matrix;
matrix=new int[n][m];
By default, at initialization, the array is filled up with zero
Change the contents of 2D arrays using 2 nested loops:
for(int i=0; i<n; i++)
for(int j=0; j<m;j++)
matrix[i][j]=i*j+1;
19A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
2D Arrays: Matrix x vector product
20A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Dichotomic search
Also called binary search algorithm
Assume we are given a sorted array of size n:
array[0] < array[1] < ... < array[n-1]
and a query key p
Seek whether there is an element in the array that has value p
That is, give a function that return the index of the element in
the array with value p, or that returns -1 otherwise.
21A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Dichotomic search: Think recursion!
● Start with a search interval [left, right] with left=0 and right=n-1
● Let m denote the middle of this interval: m=(left+right)/2
● If array[m]=p then we are done, and we return m;
● If array[m] <a, then if the solution exists it is in [m+1,right]
● If array[m]>a, then if the solution exists it is in [left,m+1]
● The search algorithm terminates if left>right, we return -1;
22A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Dichotomic search: Recursion
23A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Strings: Basic objects in Java
● A string of character is an object with type String
● A variable of type String is a reference on that object:
String school= ''Ecole Polytechnique'';
String vars=school;
● Once built, a string object cannot be modified
● Beware: use only for moderate length strings,
otherwise use the class StringBuffer
24A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Class String: Some methods
A method is a function or procedure on an object class
Method Length() : gives the number of characters
String s= ''anticonstitutionnellement'';
System.out.println(s.length());
Method equals():
s1.equals(s2): Predicate that returns true if and only if the
two strings s1 and s2 are made of the same sequence of characters.
String s1=''Poincare'';
String s2=TC.lireMotSuivant();
System.out.println(s1.equals(s2));
Beware: s1==s2 is different!
It compares the reference of the strings.
(Physical versus logical equality test)
25A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Class String in action...
26A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Class String: More methods
Method charAt():
s.charAt(i) gives the character at the (i+1)th position in string s.
String s= ''3.14159265'';
System.out.println(s.charAt(1));
Method compareTo():
u.compareTo(v) compares lexicographically the strings u with v.
String u=''lien'', v=''lit'', w=''litterie'';
System.out.println(u.compareTo(v));
System.out.println(v.compareTo(w));
27A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Class String: More methods
28A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Demystifying the main function
class ClassName
{
public static void main(String[ ] args)
{
...
}
}
Function main has an array of string of characters as arguments
These strings are stored in args[0], args[1], ...
... when calling java main s0 s1 s2 s3
Use Integer.parseInt() to convert a string into an integer
29A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Parsing arguments in the main function
30A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen
Parsing arguments in the main function
31A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen

More Related Content

PPTX
Matlab
PPTX
Writing Fast MATLAB Code
PPTX
Importance of matlab
PPSX
Introduction to MATLAB
PDF
Implicit conversion and parameters
PDF
Introduction to Matlab
PDF
Dsp manual completed2
PDF
MATLAB Programs For Beginners. | Abhi Sharma
Matlab
Writing Fast MATLAB Code
Importance of matlab
Introduction to MATLAB
Implicit conversion and parameters
Introduction to Matlab
Dsp manual completed2
MATLAB Programs For Beginners. | Abhi Sharma

What's hot (20)

ODP
Functional Programming With Scala
PPT
Scala functions
PDF
Basics of matlab
PDF
Matlab solved problems
PPT
Matlab1
PDF
(chapter 3) A Concise and Practical Introduction to Programming Algorithms in...
PPT
Matlab Basic Tutorial
PPT
Matlab Overviiew
PPT
PDF
(chapter 8) A Concise and Practical Introduction to Programming Algorithms in...
PDF
Linear Convolution using Matlab Code
PPT
PPT
Introduction to matlab
PDF
Programming in Scala - Lecture Three
RTF
Imp_Points_Scala
PDF
Programming in Scala - Lecture Four
PDF
Programming in Scala - Lecture Two
PPTX
An Introduction to MATLAB for beginners
PPTX
Matlab m files and scripts
PPTX
Matlab ppt
Functional Programming With Scala
Scala functions
Basics of matlab
Matlab solved problems
Matlab1
(chapter 3) A Concise and Practical Introduction to Programming Algorithms in...
Matlab Basic Tutorial
Matlab Overviiew
(chapter 8) A Concise and Practical Introduction to Programming Algorithms in...
Linear Convolution using Matlab Code
Introduction to matlab
Programming in Scala - Lecture Three
Imp_Points_Scala
Programming in Scala - Lecture Four
Programming in Scala - Lecture Two
An Introduction to MATLAB for beginners
Matlab m files and scripts
Matlab ppt
Ad

Viewers also liked (19)

PDF
(ISIA 3) Cours d'algorithmique (1995)
PPTX
Unit 1l 3
PPSX
Game
PDF
Slides: The dual Voronoi diagrams with respect to representational Bregman di...
PDF
(chapter 7) A Concise and Practical Introduction to Programming Algorithms in...
PDF
(chapter 1) A Concise and Practical Introduction to Programming Algorithms in...
DOCX
Audience research results and conclusions
PPT
Crohns and IBS Conditions - 03112014
PPTX
Open house nov 7 2013 m&m team
PPTX
2013年3月18日 日本国際保健医療学会 学生部会
PPTX
Biz op 30 min nov 9 2013
PPTX
Sugawara's three arrows
PPTX
Interactive media
PPTX
Photographic imaging
PPTX
Tv commercials
PPTX
Screenshot process of front cover
PPTX
Your customers deserve data driven communications, Communicator Corp
PPTX
Commercial radio
PPTX
Student-Produced Event Broadcasting
(ISIA 3) Cours d'algorithmique (1995)
Unit 1l 3
Game
Slides: The dual Voronoi diagrams with respect to representational Bregman di...
(chapter 7) A Concise and Practical Introduction to Programming Algorithms in...
(chapter 1) A Concise and Practical Introduction to Programming Algorithms in...
Audience research results and conclusions
Crohns and IBS Conditions - 03112014
Open house nov 7 2013 m&m team
2013年3月18日 日本国際保健医療学会 学生部会
Biz op 30 min nov 9 2013
Sugawara's three arrows
Interactive media
Photographic imaging
Tv commercials
Screenshot process of front cover
Your customers deserve data driven communications, Communicator Corp
Commercial radio
Student-Produced Event Broadcasting
Ad

Similar to (chapter 4) A Concise and Practical Introduction to Programming Algorithms in Java (20)

PDF
(chapter 9) A Concise and Practical Introduction to Programming Algorithms in...
PPTX
Lesson 7-computer programming case study-FINAL.pptx
PDF
Homework Assignment – Array Technical DocumentWrite a technical .pdf
PPTX
Computer programming 2 Lesson 10
PDF
DAA - chapter 1.pdf
PPTX
VCE Unit 01 (2).pptx
PDF
C sharp chap6
PPTX
Core Java and Data Structure using C++.pptx
ODP
Talk on Standard Template Library
PDF
CE344L-200365-Lab2.pdf
PDF
Digital communication lab lectures
PPT
MATLAB/SIMULINK for Engineering Applications day 2:Introduction to simulink
PPT
Topic20Arrays_Part2.ppt
DOCX
Unitii classnotes
PPS
C programming session 05
PDF
(chapter 2) A Concise and Practical Introduction to Programming Algorithms in...
PDF
Java 8
PPT
PPT
Algorithms with-java-advanced-1.0
PPTX
Java best practices
(chapter 9) A Concise and Practical Introduction to Programming Algorithms in...
Lesson 7-computer programming case study-FINAL.pptx
Homework Assignment – Array Technical DocumentWrite a technical .pdf
Computer programming 2 Lesson 10
DAA - chapter 1.pdf
VCE Unit 01 (2).pptx
C sharp chap6
Core Java and Data Structure using C++.pptx
Talk on Standard Template Library
CE344L-200365-Lab2.pdf
Digital communication lab lectures
MATLAB/SIMULINK for Engineering Applications day 2:Introduction to simulink
Topic20Arrays_Part2.ppt
Unitii classnotes
C programming session 05
(chapter 2) A Concise and Practical Introduction to Programming Algorithms in...
Java 8
Algorithms with-java-advanced-1.0
Java best practices

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPT
Teaching material agriculture food technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Electronic commerce courselecture one. Pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Big Data Technologies - Introduction.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Programs and apps: productivity, graphics, security and other tools
The Rise and Fall of 3GPP – Time for a Sabbatical?
Per capita expenditure prediction using model stacking based on satellite ima...
Teaching material agriculture food technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Electronic commerce courselecture one. Pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Understanding_Digital_Forensics_Presentation.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Encapsulation_ Review paper, used for researhc scholars
“AI and Expert System Decision Support & Business Intelligence Systems”
Big Data Technologies - Introduction.pptx
Unlocking AI with Model Context Protocol (MCP)
Chapter 3 Spatial Domain Image Processing.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Dropbox Q2 2025 Financial Results & Investor Presentation
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm

(chapter 4) A Concise and Practical Introduction to Programming Algorithms in Java

  • 1. 1A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Frank NIELSEN nielsen@lix.polytechnique.fr A Concise and Practical Introduction to Programming Algorithms in Java Chapter 4: Arrays and strings
  • 2. 2A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Why do we need arrays? ● To handle many variables at once ● Processing many data or generating many results ● In mathematics, we are familiar with variables with indices: In most languages, indices start at zero (and not one). ...Just a convention
  • 3. 3A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Declaring arrays in Java For a given type, TYPE[ ] is the type of arrays storing elements of type TYPE. ● For arrays declared within the scope of functions: ● int [ ] x; ● boolean [ ] prime; ● double [ ] coordinates; ● float [ ] [ ] matrix; ● For arrays declared in the body of a class, use the keyword static: (array variables can be used by any function of the class) ● static int [ ] x; ● static boolean [ ] prime;
  • 4. 4A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Building and initializing arrays Observe: static boolean prime[ ]={ false, true, true, true, false, true, false, true, false, false }; but not static boolean prime[10]={ false, true, true, true, false, true, false, true, false, false };
  • 5. 5A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Building and initializing arrays ● Declare array with the reserved keyword new ● Specify the size of the array at built time ● Arrays can be declared and initialized at once too: ● int [ ] x; ● x=new int [32]; ● boolean [ ] prime = new boolean[16]; ● Arrays initialized by enumerating all its values: int [ ] prime={2, 3, 5, 7, 11, 13, 17, 19};
  • 6. 6A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Size of arrays Size of arrays is given by the member function length: prime.length; System.out.println(prime.length); Size of arrays fixed for once, cannot be changed: array.length=23; // Generate an error
  • 7. 7A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Size of arrays
  • 8. 8A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Index range of arrays and exceptions Powerful mechanism of modern languages (Java, C++) If index is out of range, an exception is raised on the fly: ArrayIndexOutOfBounds Out of range accesses may not be detected by the compiler: Bug that yields termination or system crash ... However, fortunately, Java can catch exceptions too.
  • 9. 9A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Size of arrays cannot be modified
  • 10. 10A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Index range of arrays and exceptions Observe the correct parsing
  • 11. 11A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen The concept of references An array is allocated as a single contiguous memory block Java is managing memory so you do not have to free it once the array is not used anymore: garbage collector An array variable is, in fact, a reference to the array This reference of the array is the symbolic address of the first element (index 0) Thus, when we write... int [ ] v = {0, 1, 2, 3, 4}; int [ ] t =v; t[2]++; System.out.println(t[2]++); ... the elements of the array v are not copied verbatim to t. Only the reference!!!
  • 12. 12A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Arrays & references
  • 13. 13A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Functions & arrays Functions and procedures can have arrays as arguments. (remember that array types are: TypeElement[ ]) Example: Function that returns the minimum of an array of integers
  • 14. 14A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Functions & arrays Example: Function that returns the inner product of 2 vectors (produit scalaire)
  • 15. 15A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Array arguments in functions A variable that has a type array is a reference to the array (the memory address of the first element) Therefore an argument of type array does not copy all array elements in the memory allocated for the function, but rather allocate a single memory reference: a machine word. static void MyFunction(int [ ] x) MyFunction(v); Only the reference of v is copied to the memory allocated for the function MyFunction.
  • 16. 16A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Array arguments in functions Thus we can modify the inside a function the contents of the array: the values of the elements of the array.
  • 17. 17A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Functions returning an array
  • 18. 18A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Arrays of arrays... So far, we described linear array (1D). What about matrices (2D arrays)? A bidimensional array (n,m) consists of n lines, each of which is an array of m elements int [ ] [ ] matrix; matrix=new int[n][m]; By default, at initialization, the array is filled up with zero Change the contents of 2D arrays using 2 nested loops: for(int i=0; i<n; i++) for(int j=0; j<m;j++) matrix[i][j]=i*j+1;
  • 19. 19A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen 2D Arrays: Matrix x vector product
  • 20. 20A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Dichotomic search Also called binary search algorithm Assume we are given a sorted array of size n: array[0] < array[1] < ... < array[n-1] and a query key p Seek whether there is an element in the array that has value p That is, give a function that return the index of the element in the array with value p, or that returns -1 otherwise.
  • 21. 21A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Dichotomic search: Think recursion! ● Start with a search interval [left, right] with left=0 and right=n-1 ● Let m denote the middle of this interval: m=(left+right)/2 ● If array[m]=p then we are done, and we return m; ● If array[m] <a, then if the solution exists it is in [m+1,right] ● If array[m]>a, then if the solution exists it is in [left,m+1] ● The search algorithm terminates if left>right, we return -1;
  • 22. 22A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Dichotomic search: Recursion
  • 23. 23A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Strings: Basic objects in Java ● A string of character is an object with type String ● A variable of type String is a reference on that object: String school= ''Ecole Polytechnique''; String vars=school; ● Once built, a string object cannot be modified ● Beware: use only for moderate length strings, otherwise use the class StringBuffer
  • 24. 24A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Class String: Some methods A method is a function or procedure on an object class Method Length() : gives the number of characters String s= ''anticonstitutionnellement''; System.out.println(s.length()); Method equals(): s1.equals(s2): Predicate that returns true if and only if the two strings s1 and s2 are made of the same sequence of characters. String s1=''Poincare''; String s2=TC.lireMotSuivant(); System.out.println(s1.equals(s2)); Beware: s1==s2 is different! It compares the reference of the strings. (Physical versus logical equality test)
  • 25. 25A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Class String in action...
  • 26. 26A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Class String: More methods Method charAt(): s.charAt(i) gives the character at the (i+1)th position in string s. String s= ''3.14159265''; System.out.println(s.charAt(1)); Method compareTo(): u.compareTo(v) compares lexicographically the strings u with v. String u=''lien'', v=''lit'', w=''litterie''; System.out.println(u.compareTo(v)); System.out.println(v.compareTo(w));
  • 27. 27A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Class String: More methods
  • 28. 28A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Demystifying the main function class ClassName { public static void main(String[ ] args) { ... } } Function main has an array of string of characters as arguments These strings are stored in args[0], args[1], ... ... when calling java main s0 s1 s2 s3 Use Integer.parseInt() to convert a string into an integer
  • 29. 29A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Parsing arguments in the main function
  • 30. 30A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen Parsing arguments in the main function
  • 31. 31A Concise and Practical Introduction to Programming Algorithms in Java © 2009 Frank Nielsen