有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

循环将电话号码中的字母和数字转换为所有数字(Java)

import java.util.Scanner;

import javax.swing.JOptionPane;


public class PhonePadTranslator {

private static Scanner input;

public static void main(String[] args) {

    input = new Scanner(System.in);
    System.out.println("Enter The Phone Number (With Letters) ");
    String initial_phone_number = input.nextLine();
    initial_phone_number = initial_phone_number.toUpperCase();
    int phone_number_final = 0;

    System.out.printf("The phone number for %s is %s", initial_phone_number, phone_number_final);

}//end of main

public static int full_number(String initial_phone_number) 
{
    int which_character = 0;
    int phone_number_final = 0;
    char ch = (Character) null;

    for (which_character = 0; which_character < initial_phone_number.length(); which_character++) 
    {
        if (Character.isLetter(ch)) 
        {
            switch(ch)
            {
        case 'A' : case 'B' : case 'C' : phone_number_final = 2; break;
        case 'D' : case 'E' : case 'F' : phone_number_final = 3; break;
        case 'G' : case 'H' : case 'I' : phone_number_final = 4; break;
        case 'J' : case 'K' : case 'L' : phone_number_final = 5; break;
        case 'M' : case 'N' : case 'O' : phone_number_final = 6; break;
        case 'P' : case 'Q' : case 'R' : case 'S' : phone_number_final = 7; break;
        case 'T' : case 'U' : case 'V' : phone_number_final = 8; break;
        case 'W' : case 'X' : case 'Y' : case 'Z' : phone_number_final =9; break;
            }
            return (char)phone_number_final;
        }
        if (Character.isDigit(ch))
        {
            return (char)phone_number_final;
        }

        else {
            return (char)phone_number_final;
        }

    } //end of for
    return ch;
}//end of full_number
}//end of class

我只是想复制/粘贴整个东西。。。但每当我运行代码时,它都会不断输出1800FLOWERS的电话号码是0。现在我确信还有其他一些事情是错误的,但我主要关心的是为什么它一直给我一个^{?我觉得这是因为我初始化了它,出于某种原因,我从未改变它的值。请帮忙,我的教授回复我的邮件要花很长时间:(


共 (0) 个答案