case - Weebly

advertisement
Programming 2 LAB
TA: Nouf Al-Harbi
NoufNaief.net ::: nouf200@hotmail.com
LAB 2
The String Class Applications
PROGRAM
Phone keypads
Problem Description:
• The international standard letter/number mapping found
on the telephone is shown below:
Phone keypads
• Write a method that returns a number, given an
uppercase letter, as follows:
public static int getNumber(char uppercaseLetter)
• Write a test program that prompts the user to enter a phone
number as a string. The input number may contain letters. The
program translates a letter (upper- or lowercase) to a digit and
leaves all other characters intact.
Phone keypads
•
•
•
•
<Output>
Enter a string: 1-800-Flowers
1-800-3569377
<End Output>
•
•
•
•
<Output>
Enter a string: 1800flowers
18003569377
<End Output>
Phone keypads
SOLUTION..
import java.util.Scanner;
public class Exercise9_7 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// Prompt the user to enter a string
System.out.print("Enter a string: ");
String s = input.nextLine();
for (int i = 0; i < s.length(); i++)
{
if (Character.isLetter(s.charAt(i)))
System.out.print(getNumber(Character.toUpperCase(s.charAt(i))
));
else
System.out.print(s.charAt(i));
}
}
public static int getNumber(char uppercaseLetter)
{
case 'M':
int number = 0;
case 'N':
switch (uppercaseLetter)
case 'O': number
{
case 'P':
case 'A':
case 'Q':
case 'B':
case 'R':
case 'C': number = 2; break;
case 'S': number
case 'D':
case 'T':
case 'E':
case 'U':
case 'F': number = 3; break;
case 'V': number
case 'G':
case 'W':
case 'H':
case 'X':
case 'I': number = 4; break;
case 'Y':
case 'J':
case 'Z': number
case 'K':
}
case 'L': number = 5; break;
return number;
}
}
= 6; break;
= 7; break;
= 8; break;
= 9; break;
PROGRAM
Checking Password
Problem Description :
• Some Websites impose certain rules for passwords. Write
a method that checks whether a string is a valid password.
Suppose the password rule is as follows:
• A password must have at least eight characters.
• A password consists of only letters and digits.
• A password must contain at least two digits.
• Write a program that prompts the user to enter a password
and displays "valid password" if the rule is followed or
"invalid password" otherwise.
Checking Password
• Sample 1
• Enter a string for password: wewew43x
• valid password
• Sample 2
• Enter a string for password: 343a
• invalid password
Checking Password
SOLUTION..
public class Test {
public static void main(String[] args) {
// Prompt the user to enter a password
java.util.Scanner input = new
java.util.Scanner(System.in);
System.out.print("Enter a string for
password: ");
String s = input.nextLine();
if (isValidPassword(s)) {
System.out.println("Valid password");
}
else {
System.out.println("Invalid password");
}
}
/** Check if a string is a valid
password */
public static boolean
isValidPassword(String s) {
// Count the number of digits
// Only letters and digits?
for (int i = 0; i < s.length();
int count = 0;
i++) {
for (int i = 0; i <
if
s.length(); i++) {
(!Character.isLetter(s.charAt(i))
if
&&
!Character.isDigit(s.charAt(i)))
return false;
}
(Character.isDigit(s.charAt(i)))
count++;
}
if (count >= 2)
return true;
else
return false;
// Check length
if (s.length() < 8)
return false;
}
}
End of Lab 2
Download