¿Cómo escribir programas robustos con la ayuda de bucles en Java?

Aquí discutiremos cómo podemos escribir códigos efectivos con la ayuda de bucles. Es una percepción general que el enfoque que utiliza bucles se trata como un enfoque ingenuo para resolver un problema. Pero aún así, hay un gran alcance de improvisación aquí. Básicamente, una declaración de bucle nos permite ejecutar una declaración o grupo de declaraciones varias veces. Además de esto, también podemos manipular su ejecución según nuestros requerimientos y escribir códigos robustos. 

Supón que quieres encontrar el área y el perímetro de un círculo. El enfoque general para un programador novato sería comprobar si el radio es mayor que cero. Si no es así, imprima e ingrese un número positivo distinto de cero. Ahora, ¿cuáles son los defectos aquí? Si el usuario ingresa un número menor o igual a cero varias veces, entonces debemos compilar nuestro código una y otra vez, ya que el programa imprimirá un número positivo distinto de cero y finalizará su ejecución. 

Ejemplo 1

Java

// Java Program to Simply Get the Area of Shapes
// Without considering robustness into play
  
// Importing Scanner class to
// read input
import java.util.Scanner;
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
  
        // Creating object of Scanner class to
        // take input
        Scanner s = new Scanner(System.in);
        System.out.println("Enter Radius::");
        double radius = s.nextDouble();
        double perimeter;
        double area;
  
        // If radius is negative
        if (radius <= 0) {
  
            System.out.println(
                "please enter non zero positive number ");
        }
  
        // Radius is positive
        else {
  
            // Compute area and perimeter
            perimeter = 2 * Math.PI * radius;
            area = Math.PI * radius * radius;
  
            // Print and display area and parameter
            System.out.println("Perimeter:: " + perimeter);
            System.out.println("Area:: " + area);
        }
    }
}

Producción:

C:\Users\USER\Desktop\Network Java>javac GFG.java
C:\Users\USER\Desktop\Network Java>java GFG
Enter Radius::
-5
please enter non zero positive number
//Execution Finished
C:\Users\USER\Desktop\Network Java>javac GFG.java
C:\Users\USER\Desktop\Network Java>java GFG
Enter Radius::
0
please enter non zero positive number
//Execution Finished

Explicación de salida:

En el ejemplo anterior, vimos que si el usuario ingresa números enteros negativos y distintos de cero, necesitamos compilar y ejecutar el programa una y otra vez. Esta situación incómoda se puede evitar usando el ciclo while. Usando bucles, podemos manipular su ejecución de acuerdo con nuestros requisitos y escribir códigos saludables. 

Ejemplo 2

Java

// Java program to Illustrate Robustness In a Program
// Using Loops
  
// Importing input output classes
import java.io.*;
  
// Main class
class GFG {
  
    // Main driver method
    public static void main(String[] args)
        throws IOException
    {
        // Custom input - Radius of a circle
        double radius = 50;
  
        // Reading input
        BufferedReader br = new BufferedReader(
            new InputStreamReader(System.in));
  
        // Asking from user to enter radius
        System.out.println("Enter Radius::");
  
        // 1st.This while loop will run since
        // 50>Integer.MIN_VALUE
        while (radius > Integer.MIN_VALUE) {
  
            // 2nd.It's time to read the buffer
            radius = Double.parseDouble(br.readLine()); //**
  
            // 3rd.If radius>0 give result and break the
            // loop.
            if (radius > 0) {
                double Perimeter = 2 * Math.PI * radius;
                double Area = Math.PI * Math.pow(radius, 2);
                System.out.println("Perimeter:: "
                                   + Perimeter);
                System.out.println("Area:: " + Area);
                break;
            }
  
            // 4th.If radius=-100(say) then print the
            // following
            System.out.println(
                "please enter non zero positive number");
            System.out.println("Enter Radius::");
  
            // 5th.As -100>Integer.MIN_VALUE the loop will
            // run again.
        }
    }
}

Producción:

C:\Users\USER\Desktop\Network Java>javac GFG.java
C:\Users\USER\Desktop\Network Java>java GFG
Enter Radius::
-10
please enter non zero positive number
Enter Radius::
0
please enter non zero positive number
Enter Radius::
3
Perimeter:: 18.84955592153876
Area:: 28.274333882308138
//Execution Finished

Nota: En el programa anterior, vemos que si leemos el búfer una vez, ya no almacenará nada. Si tratamos de leerlo de nuevo, nos pedirá entrada.

Publicación traducida automáticamente

Artículo escrito por dattabikash505 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *