将电话号码(字符串)转换为整数(修订版)



问题

编写一个方法,返回一个给定大写字母的数字,如下所示。

int getNumber (char uppercaseLetter)

编写一个测试程序,提示用户以字符串形式输入电话号码。输入的数字可能包含字母。该程序将字母(大写或小写)转换为数字,并保留所有其他字符不变。

教科书中的样本运行

Enter a string: 1-800-Flowers
1-800-3569377
Enter a string: 1800flowers
18003569377

这是我到目前为止所拥有的

import java.util.Scanner;
public class Assignment {
public static int correspondingNumber(char uppercaseLetter){
    int correspondingNumber=0;
    switch (uppercaseLetter)
    {
    case 'A': 
    case 'B':
    case 'C': correspondingNumber=2;  break;
    case 'D': 
    case 'E': 
    case 'F': correspondingNumber=3;  break;
    case 'G': 
    case 'H': 
    case 'I': correspondingNumber=4;  break;
    case 'J':
    case 'K':
    case 'L': correspondingNumber=5;  break;
    case 'M': 
    case 'N':   
    case 'O': correspondingNumber=6;  break;
    case 'P': 
    case 'Q': 
    case 'R': 
    case 'S': correspondingNumber=7;  break;
    case 'T': 
    case 'U': 
    case 'V': correspondingNumber=8;  break;
    case 'W': 
    case 'X': 
    case 'Y': 
    case 'Z': correspondingNumber=9;  break;
        
}
    return correspondingNumber;
}
    
    public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String num;
char num1 = 0;
System.out.print("Enter a string: ");
num = input.next();
num.toUpperCase();
int i=0;
while(i!=num.length()){
num1=num.charAt(i);

}
     
System.out.print(correspondingNumber(num1));     
     
    
    }
}

需要完成步骤

  1. 扫描输入,比如说字符串
  2. 将字符串转换为字符数组(srcArray)
  3. 更改方法返回相应的Number到Char
  4. 默认返回输入并应用开关情况
  5. 调用方法correspondingNumber,将返回的char存储在字符串生成器或char数组的数组中
  6. 重复步骤5,直到字符数组(srcArray)被完全处理
  7. 打印输出
    import java.util.Scanner;
public class Assignment {
    // changed return type
    public static char correspondingNumber(char uppercaseLetter) {
        char correspondingNumber = uppercaseLetter;// default the return value
                                                    // to input
        switch (uppercaseLetter) {
        case 'A':
        case 'B':
        case 'C':
            correspondingNumber = '2';
            break;
        case 'D':
        case 'E':
        case 'F':
            correspondingNumber = '3';
            break;
        case 'G':
        case 'H':
        case 'I':
            correspondingNumber = '4';
            break;
        case 'J':
        case 'K':
        case 'L':
            correspondingNumber = '5';
            break;
        case 'M':
        case 'N':
        case 'O':
            correspondingNumber = '6';
            break;
        case 'P':
        case 'Q':
        case 'R':
        case 'S':
            correspondingNumber = '7';
            break;
        case 'T':
        case 'U':
        case 'V':
            correspondingNumber = '8';
            break;
        case 'W':
        case 'X':
        case 'Y':
        case 'Z':
            correspondingNumber = '9';
            break;
        }
        return correspondingNumber;
    }
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String num;
        char num1 = 0;
        System.out.print("Enter a string: ");
        num = input.next();
        num.toUpperCase();
        int i = 0;
        while (i != num.length()) {
            num1 = num.charAt(i);
            System.out.print(correspondingNumber(num1)); // moved print
                                                            // statement to
                                                            // appropriate place
            i++; // iterate loop
        }
        input.close();
    }
}

最新更新