|
DEMO: demo/04-Math+String/05-string2/Concat.java
|
DEMO: demo/04-Math+String/05-string2/CompareTo.java
|
DEMO: demo/04-Math+String/05-string2/CompareToIgnoreCase.java
Read in 2 strings into s1 and s2 and if necessary, swap the strings so that: String s1 ≤ String s2:
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String s1, s2;
System.out.print("Enter s1 = ");
s1 = input.next();
System.out.print("Enter s2 = ");
s2 = input.next();
if ( s1.compareTo(s2) > 0 )
{
String help; // See: How to swap variables
help = s1; // Swap s1 and s2
s1 = s2;
s2 = help;
}
System.out.print(s1 + ", " + s2);
}
|
DEMO: demo/04-Math+String/05-string2/SwapStrings.java
We have used
compareTo( ) to
test if
string s1 is
equal to
string s2:
s1.compareTo(s2) == 0
We can
also
test if a string
s1 is
equal to
another string
s2 using:
s1.equals(s2)
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String s1, s2;
System.out.print("Enter s1 = ");
s1 = input.next();
System.out.print("Enter s2 = ");
s2 = input.next();
if ( s1.compareTo(s2) == 0 )
System.out.println(s1 + " is same as " + s2);
else
System.out.println(s1 + " is different from " + s2);
if ( s1.equals(s2) ) // SAME effec !!
System.out.println(s1 + " is same as " + s2);
else
System.out.println(s1 + " is different from " + s2);
}
|
DEMO: demo/04-Math+String/05-string2/Equals.java
To test if a string s1 is equal to another string s2 without considering case difference, we use the s1.equalsIgnoreCase(s2) method:
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String s1, s2;
System.out.print("Enter s1 = ");
s1 = input.next();
System.out.print("Enter s2 = ");
s2 = input.next();
if ( s1.compareToIgnoreCase(s2) == 0 )
System.out.println(s1 + " is same as " + s2);
else
System.out.println(s1 + " is different from " + s2);
if ( s1.equalsIgnoreCase(s2) ) // SAME effec !!
System.out.println(s1 + " is same as " + s2);
else
System.out.println(s1 + " is different from " + s2);
}
|
DEMO: demo/04-Math+String/05-string2/EqualsIgnoreCase.java
To test if string s1 starts with string s2, we use s1.startsWith(s2):
public class MyProg
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String s1, s2;
System.out.print("Enter s1 = ");
s1 = input.next();
System.out.print("Enter s2 = ");
s2 = input.next();
if ( s1.startsWith(s2) )
System.out.println(s1 + " starts with " + s2);
else
System.out.println(s1 + " does not start with " + s2);
}
}
|
DEMO:
demo/04-Math+String/05-string2/StartsWith.java
Note:
Java does
not have
a StartsWithIgnoreCase( )
method....
but, we can do
it
with a
progr. technique
Programming technique to ignore case difference: (1) convert both strings to upper case and (2) compare
public class MyProg
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String s1, s2;
System.out.print("Enter s1 = ");
s1 = input.next();
System.out.print("Enter s2 = ");
s2 = input.next();
if ( (s1.toUpperCase()).startsWith(s2.toUpperCase()) )
System.out.println(s1 + " starts with " + s2);
else
System.out.println(s1 + " does not start with " + s2);
}
}
|
DEMO: demo/04-Math+String/05-string2/StartsWithNoCase.java
To test if string s1 starts with string s2, we use s1.endsWith(s2):
public class MyProg
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String s1, s2;
System.out.print("Enter s1 = ");
s1 = input.next();
System.out.print("Enter s2 = ");
s2 = input.next();
if ( s1.endsWith(s2) )
System.out.println(s1 + " ends with " + s2);
else
System.out.println(s1 + " does not end with " + s2);
}
}
|
DEMO: demo/04-Math+String/05-string2/EndsWith.java
To test if string s1 contains string s2, we use s1.contains(s2):
public class MyProg
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String s1, s2;
System.out.print("Enter s1 = ");
s1 = input.next();
System.out.print("Enter s2 = ");
s2 = input.next();
if ( s1.contains(s2) )
System.out.println(s1 + " contains " + s2);
else
System.out.println(s1 + " does not contain " + s2);
}
}
|
DEMO: demo/04-Math+String/05-string2/Contains.java
|
|
DEMO: demo/04-Math+String/05-string2/Substring1.java
|
|
DEMO: demo/04-Math+String/05-string2/CyclicSeq.java
|
DEMO: demo/04-Math+String/05-string2/Substring2.java
|
DEMO: demo/04-Math+String/05-string2/IndexOf1.java
|
DEMO: demo/04-Math+String/05-string2/IndexOf2.java
Given a string containing a full name:
String s1 = "James Bond";
Problem:
Assign first name to variable firstName and
assign last name to variable lastName
|
DEMO: demo/04-Math+String/05-string2/SplitName.java