x = input.nextInt(); // Read in an integer y = input.nextInt(); // Read in another integer 
We have also used methods in class:
y = Math.sin( x ); // Compute sin(x) b = Math.sin( a ); // Compute sin(a) 
When we want to perform the same task over and over again, we define a method to perform that task.
After writing the definition of the method, we can invoke (call or use) the method over and over again.
All you need to do in this homework is to write the statements inside the body of the method to make the method perform the task.

mkdir ~/cs170/hw5 cp ~cs170002/share/hw5/*.java ~/cs170/hw5 cd ~/cs170/hw5 

Examples:

for ( cand = first_number; cand <= last_number; cand++ ) { check if cand is the LCM of input numbers x and y; if cand IS the LCM, what should you do ? if cand IS NOT the LCM, when should you do ? } 
Before you can write this algorithm, you need to answer these questions first:

LCM(a, b) ≤ a × b 
because the number a × b is divisble by a and by b.
Where to put your code and how to compile and run

Do not make any changes to the main() method !!!
cd ~/cs170/hw5 javac LCM.java java LCM Correct output: LCM of 5 and 7 = 35 LCM of 4 and 6 = 12 LCM of 6 and 21 = 42 LCM of 35 and 49 = 245 
true if the input string s is a palindrome false if the input string s is NOT a palindrome 
Examples:
civic eve 
Example: suppose the variable s contains: s = "atlanta" 1. The algorithm need to keep some information.... We define 2 index variables: i and j i "points" to the left character that you want to test j "points" to the right character that you want to test We can make i and j "point" to a position by storing the position index in the variable ! OK, let's look at the algorithm next. 2. Start: make i point to the left most character make j point to the right most character Example: if we set: i = 0; j = 6; we will achieve this step: 0123456 "atlanta" ^ ^   i=0 j=6 3. You can get the character of the string at the ith position and the character at the jth position in string s using these expressions: s.charAt(i) s.charAt(j) You want to compare these characters next.... Because characters are just integer (Unicode), you can simply use: s.charAt(i) == s.charAt(j) to compare them ! 4. If the characters are the same, you must continue the test: 0123456 "atlanta" ^ ^   i=0 j=6 they are both 'a', continue To continue, move i to right and move j to left: 0123456 "atlanta" ^ ^   i=1 j=5 5. Since this pair of characters (s.charAt(i) is 't' and s.charAt(j) is also 't') is also equal, we move i and j: 0123456 "atlanta" ^ ^   i=2 j=4 When the characters are NOT equal, you KNOW the word is NOT a palindrome and you can return IMMEDIATELY. You can use a "return(false);" to return the false value immediately. 6. How will the algorithm behave if you have a palindrome: "kayak" i is the LEFT character and j is the RIGHT character. We keep moving i to the right and j to the left.... If the string is a palindrome, then sooner or later, i and j will PASS each other: i > j This is the indication that we have check ALL pairs of letters and each pair MATCH UP. When this happens, you must exit the loop and then return TRUE !!! 

Input string s; s = "................" ^ ^   left most right most position position left most character position of a string s = 0 right most character position of a string s = s.length()  1 

cd ~/cs170/hw5 /home/cs170002/turninhw LCM.java hw5 /home/cs170002/turninhw Palindrome.java hw5a 