Ok i have finally worked out this problem but i have one issue remaining, when i am entering the string in upon being asked, IF i put any spaces in the number i enter when the program runs it turns those spaces into the number 9 in my output, if i do not use spaces everything runs fine,any ideas as to how i can stop the 9 being added into my spaces? Thanks in advance.
package chapter_9;
import java.util.Scanner;
public class Nine_Seven {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String string = input.nextLine();
        string = string.toUpperCase();
        for (int i = 0;i<string.length();i++){
            if(Character.isDigit(string.charAt(i)))
                System.out.print(string.charAt(i));
            else
                System.out.print(getNumber(string.charAt(i)));
            }
       }
     public static int getNumber(char uppercaseLetter){
        if (uppercaseLetter == 'A' || uppercaseLetter == 'B' || uppercaseLetter == 'C') 
            return 2; 
        else if (uppercaseLetter == 'D' || uppercaseLetter == 'E' || uppercaseLetter == 'F')
            return 3;
        else if (uppercaseLetter == 'G' || uppercaseLetter == 'H' || uppercaseLetter == 'I')
            return 4;
        else if (uppercaseLetter == 'J' || uppercaseLetter == 'K' || uppercaseLetter == 'L') 
            return 5;
        else if (uppercaseLetter == 'M' || uppercaseLetter == 'N' || uppercaseLetter == 'O') 
            return 6; 
        else if (uppercaseLetter == 'P' || uppercaseLetter == 'Q' || uppercaseLetter == 'R' || uppercaseLetter == 'S')
            return 7; 
        else if (uppercaseLetter == 'T' || uppercaseLetter == 'U' || uppercaseLetter == 'V')
            return 8;
        else
            return 9; 
    } 
}
Output example: Enter a string: 597 6630
597*9*6630
 
     
     
    