Reiniciar un programa en Java

Musfirah Waseem 12 octubre 2023
  1. Use una declaración condicional hacer mientras
  2. Use una declaración condicional do-while sin una condición de parada
  3. Usar la recursividad para reiniciar un programa
  4. Utilice la recursividad para reiniciar un programa sin una condición de parada
Reiniciar un programa en Java

En un programa controlado por menú o un juego, necesitamos una opción para reiniciar o restablecer nuestro programa. Podemos reiniciar un programa en Java llamando recursivamente a una función o usando declaraciones de bucle condicional.

Use una declaración condicional hacer mientras

import java.util.*;
import java.util.Scanner;

class Main {
  public static int addNumbers(int a, int b) {
    return a + b;
  }

  public static void main(String[] args) {
    boolean flag = false;

    Scanner sc = new Scanner(System.in);
    do {
      System.out.print("Enter the first number: ");
      int num1 = sc.nextInt();
      System.out.print("Enter the second number: ");
      int num2 = sc.nextInt();
      int result = addNumbers(num1, num2);
      System.out.println("The sum is: " + result);
      System.out.print("Do you want to add more numbers? Enter y for yes and n for no. ");
      char input = sc.next().charAt(0);
      if (input == 'y') {
        flag = true;
      } else {
        flag = false;
      }
    } while (flag);
  }
}

Producción :

Enter the first number: 8
Enter the second number: 7
The sum is: 15
Do you want to add more numbers? Enter y for yes and n for no. y
Enter the first number: 9
Enter the second number: 4
The sum is: 13
Do you want to add more numbers? Enter y for yes and n for no. n

El código anterior muestra la funcionalidad de un ciclo condicional para reiniciar una función nuevamente; siempre que el usuario ingrese y, el programa se reiniciará.

Use una declaración condicional do-while sin una condición de parada

import java.util.*;
import java.util.Scanner;

class Main {
  public static int addNumbers(int a, int b) {
    return a + b;
  }

  public static void main(String[] args) {
    boolean flag = true;

    Scanner sc = new Scanner(System.in);
    do {
      System.out.print("Enter the first number: ");
      int num1 = sc.nextInt();
      System.out.print("Enter the second number: ");
      int num2 = sc.nextInt();
      int result = addNumbers(num1, num2);
      System.out.println("The sum is: " + result);
    } while (flag);
  }
}

Producción :

Enter the first number: 8
Enter the second number: 7
The sum is: 15
Enter the first number: 9
Enter the second number: 4
The sum is: 13
Enter the first number: .....

El código anterior muestra la funcionalidad de un bucle condicional para reiniciar una función un número infinito de veces. La única forma de evitar que el programa se reinicie es cerrar el programa.

Usar la recursividad para reiniciar un programa

import java.util.*;
import java.util.Scanner;

class Main {
  public static void addNumbers(int a, int b, int c) {
    Scanner sc = new Scanner(System.in);
    if (c == 0) {
      int result = a + b;
      System.out.println("The sum is: " + result);
      return;
    }
    int result = a + b;
    System.out.println("The sum is: " + result);
    System.out.print("Enter the first number: ");
    int num1 = sc.nextInt();
    System.out.print("Enter the second number: ");
    int num2 = sc.nextInt();
    c--;
    addNumbers(num1, num2, c);
  }

  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.print("Enter the first number: ");
    int num1 = sc.nextInt();
    System.out.print("Enter the second number: ");
    int num2 = sc.nextInt();
    System.out.print("How many times do you want to restart this program? : ");
    int num3 = sc.nextInt();
    addNumbers(num1, num2, num3);
  }
}

Producción :

Enter the first number: 5
Enter the second number: 6
How many times do you want to restart this program? : 2
The sum is: 11
Enter the first number: 4
Enter the second number: 5
The sum is: 9
Enter the first number: 7
Enter the second number: 8
The sum is: 15

El código anterior muestra la funcionalidad de una función recursiva para reiniciarse nuevamente. El programa se reiniciará tantas veces como el usuario lo requiera.

Utilice la recursividad para reiniciar un programa sin una condición de parada

import java.util.*;
import java.util.Scanner;

class Main {
  public static void addNumbers() {
    Scanner sc = new Scanner(System.in);
    System.out.print("Enter the first number: ");
    int num1 = sc.nextInt();
    System.out.print("Enter the second number: ");
    int num2 = sc.nextInt();
    int result = num1 + num2;
    System.out.println("The sum is: " + result);
    addNumbers();
  }

  public static void main(String[] args) {
    addNumbers();
  }
}

Producción :

Enter the first number: 5
Enter the second number: 3
The sum is: 8
Enter the first number: 8
Enter the second number: 11
The sum is: 19
Enter the first number: ...

El código anterior muestra la funcionalidad de una función recursiva para reiniciarse nuevamente. El programa se reiniciará un número infinito de veces ya que no hay condición de parada en el ciclo de llamada recursiva.

Musfirah Waseem avatar Musfirah Waseem avatar

Musfirah is a student of computer science from the best university in Pakistan. She has a knack for programming and everything related. She is a tech geek who loves to help people as much as possible.

LinkedIn