Отображение алфавитного номера телефона (в цифрах) несколькими способами - PullRequest
0 голосов
/ 27 октября 2018

Как я могу заставить эту программу работать? Каждый раз, когда я добавляю основной метод, он все портит, но я знаю, что должен включить его. Я должен ввести номер телефона со словами ex 1-800-FLOWERS, и он должен напечатать 1-800-3569377. Я должен использовать эти конкретные методы. Любая помощь будет принята с благодарностью.

import java.util.*;
public class Translator
{
    Scanner kb = new Scanner(System.in);
    char character;
    String input, inputTwo, phoneNumber;
public void getInput()
{
    System.out.println("Enter the alphabetic phone number.");
    input = kb.next();
    inputTwo = input.toLowerCase();
    isValid(inputTwo);
}
public void isValid(String numb)
{
    inputTwo = numb;
    int error = 0;
    for(int i = 0; i < inputTwo.length(); i++)
    {
        character = inputTwo.charAt(i);
        switch(character)
        {
            case '0':
            case '1':
            case 'a':
            case 'b':
            case 'c':
            case '2':
            case 'd':
            case 'e':
            case 'f':
            case '3':
            case 'g':
            case 'h':
            case 'i':
            case '4':
            case 'j':
            case 'k':
            case 'l':
            case '5':
            case 'm':
            case 'n':
            case 'o':
            case '6':
            case 'p':
            case 'q':
            case 'r':
            case 's':
            case '7':
            case 't':
            case 'u':
            case 'v':
            case '8':
            case 'w':
            case 'x':
            case 'y':
            case 'z':
            case '9':
            case '_':
                break;
            default:
                error ++;
        }
    }
    int trueError = error;
    if((inputTwo.length() >= 10 && inputTwo.length() <= 14) && trueError == 0)
    {
        getPhoneNumber(inputTwo);
    }
    else
        System.out.println("you did not enter a vaild phone number. Try again.");
}
public String getPhoneNumber(String numbTwo)
{
    inputTwo = numbTwo;
    for(int i = 0; i < numbTwo.length(); i++)
    {
        character = inputTwo.charAt(i);
        switch(character)
        {
            case '0':
                phoneNumber += 0;
                break;
            case '1':
                phoneNumber += 1;
                break;
            case 'a':
            case 'b':
            case 'c':
            case '2':
                phoneNumber += 2;
                break;
            case 'd':
            case 'e':
            case 'f':
            case '3':
                phoneNumber += 3;
                break;
            case 'g':
            case 'h':
            case 'i':
            case '4':
                phoneNumber += 4;
                break;
            case 'j':
            case 'k':
            case 'l':
            case '5':
                phoneNumber += 5;
                break;
            case 'm':
            case 'n':
            case 'o':
            case '6':
                phoneNumber += 6;
                break;
            case 'p':
            case 'q':
            case 'r':
            case 's':
            case '7':
                phoneNumber += 7;
                break;
            case 't':
            case 'u':
            case 'v':
            case '8':
                phoneNumber += 8;
                break;
            case 'w':
            case 'x':
            case 'y':
            case 'z':
            case '9':
                phoneNumber += 9;
                break;
            default:
                phoneNumber += '_';
        }
    }
    System.out.println(phoneNumber);
}
}

1 Ответ

0 голосов
/ 27 октября 2018

Таким образом, чтобы запустить это, вам нужно создать основную функцию, а затем создать класс Translator для запуска внутренних функций.Добавьте следующий код в файл класса Translator и запустите его.

public static void main(String[] args) {
    Translator translator = new Translator();
    translator.getInput();
}

Затем просто введите любой алфавитный номер, и он должен работать.Причина, по которой я создаю класс переводчика в функции main, заключается в том, что если вы вызываете имена методов непосредственно в функции main, вам придется сделать все эти открытые методы статичными.Делая это таким образом, вы можете оставить его без изменений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...