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