Traté de hacer varias selecciones aleatorias que imprimieran el mensaje para cada número de entrada, es decir, una serie de números (4 2 17 0) donde 0 detendría el código. Obtuve una salida incorrecta
public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int number=scanner.nextInt(); int x = number; do{switch(x) { case 1: System.out.println("Language selection"); break; case 2: System.out.println("Customer support"); break; case 3: System.out.println("Check the balance"); break; case 4: System.out.println("Check loan balance"); break; case 0: System.out.println("Exit"); break; default: return; } if (x==0) {break;} x++; } while (true); } } ```  Puede usar Scanner#hasNextInt para terminar el bucle cuando se agotan los enteros.
Manifestación:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNextInt()) { int x = scanner.nextInt(); switch (x) { case 1: System.out.println("Language selection"); break; case 2: System.out.println("Customer support"); break; case 3: System.out.println("Check the balance"); break; case 4: System.out.println("Check loan balance"); break; case 0: System.exit(0); } } } }Una ejecución de muestra:
4 2 17 0 Check loan balance Customer support Además, tenga en cuenta que necesita un break para evitar que los casos se caigan sin darse cuenta. No vi ningún uso default en este caso y, por lo tanto, lo eliminé del código de demostración.
Alternativamente, usando un bucle do-while:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int x = 0; do { x = scanner.nextInt(); switch (x) { case 1: System.out.println("Language selection"); break; case 2: System.out.println("Customer support"); break; case 3: System.out.println("Check the balance"); break; case 4: System.out.println("Check loan balance"); break; } } while (x != 0); } }