User Interface, Using A buffer with a module

Here is my draft code for the buffer:

void app_Radio() {
  char freq0 = ' ';
  char freq1 = ' ';
  char freq2 = ' ';
  char freq3 = ' '; 

  tft.fillScreen(BLUE);
  tft.setCursor(10, 10);
  tft.setTextColor(GREEN);
  tft.setTextSize(2);
  tft.print("Enter Frequency");
  tft.println();
  tft.setTextSize(3);
  tft.print(freq0);
  tft.print(freq1);
  tft.print(freq2);
  tft.print(freq3);
  int radioentry;
  radioentry = keyboardps2.read();
      freq0 = '_';
  while (freq0 == '_') {
    if (keyboardps2.available) {
    radioentry = freq0;
    freq1 = '_';
    }
  } //While
  while (freq1 == '_') {
    if (keyboardps2.available) {
    radioentry = freq1;
    freq2 = '_';
    }
  } //While
  while (freq2 == '_') {
    if (keyboardps2.available) {
    radioentry = freq2;
    freq3 = '_';
    }
  }
    while (freq3 == '_') {
    if (keyboardps2.available) {
    radioentry = freq3;
char finalfreq[4];
finalfreq[0] = freq0;
finalfreq[1] = freq1;
finalfreq[2] = freq2
finalfreq[3] = freq3;

radio.setFrequency(finalfreq[4]);
    }
  }
  //While
}

Any suggestions?