This lesson is a lot of fun.
We’ll integrate what we’ve learned recently about String
s, algortihms, and then functions.
And then we’ll get some practice approaching a few new problems using String
s.
But first, we have a few new things to cover.
When we started working with variables and Java’s eight primitive types, we observed that there were certain types of assignments that would fail. For example:
But, there are also other kinds of assignments from one type to another that will succeed:
Let’s discuss why that is, and how to can force Java to perform certain type changes when necessary.
String
s Are ImmutableString
s Are ImmutableOne of the important things to understand about Java’s String
s is that none of the methods that we can call on them change that String
.
Instead, they always return a new String
that may be modified in some way.
Let’s see that in action:
Write a function called reverse
. It should accept a single String
argument and return that String
, reversed!
There are several ways to approach this problem—so have fun!
String
AlgorithmsString
AlgorithmsNow let’s have some fun and write a few new algorithms that work on String
s!
String
Character SearchString
Character SearchFirst, let’s try and write a function that determines if a String
contains a particular character.
We’ll sketch our our algorithm first, explore some potentially useful String
methods, and construct and test a solution.
String
ParsingString
ParsingFrequently when computers work with text data, we are processing data that was itself created by a machine. Or set up for machines to easily process.
One example is data stored in comma-separated-value format.
Let’s say we wanted to track how many people were tested for some random respiratory illness each day.
We might save that data in a String
that looked like this:
(Note that this is not real data!)
Let’s experiment with how we might work with this kind of data.
We’ll use some existing String
methods and a few new ones.
We’ll also use another unfamiliar method: Integer.parseInt
, which allows us to convert a String
to an int
.
Write a method name flipHalves
that returns a passed String
rearranged as follows.
You should move the second half of the string to the front, and the first half to the back.
So given the String
"CS" you would return "SC", and given the String
"testme" you would return "tmetes".
However, if the length of the String
is odd the middle character should remain in place.
So given the String
"CS124" you would return "241CS".
If the passed String
is empty, just return the empty String
.
You will definitely want to review the substring
String
method, and also spend some time experimenting with it
before you begin crafting your solution.
You also may want to consider odd and even length String
s separately.
Joy Buolamwini is a self-described poet of code who, through her art, voice, and research, is drawing attention to important social implications of the widespread use of artificial intelligence. Watch her speak for herself, in words both beautiful and powerful:
If you have a few more minutes, watch her TED Talk on algorithmic bias—what she calls “the coded gaze”.
Need more practice? Head over to the practice page.