online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
import java.util.Scanner; class FiguraApp{ static Scanner sc = new Scanner(System.in); public static void main(String[] args){ System.out.printf("Bienvenidos al Cálculo de áreas y perímetros\n\n"); Rectangulo rec = new Rectangulo(Validator.getInt (sc, "Ingrese el codigo del rectángulo: "), Validator.getString(sc, "Ingrese el color del rectángulo: "), Validator.getFloat (sc, "Ingrese el largo del rectángulo (0 a 20): ", 0, 20), Validator.getFloat (sc, "Ingrese el ancho del rectángulo (0 a 10): ", 0, 10)); System.out.println(); Circulo cir = new Circulo(Validator.getInt (sc, "Ingrese el codigo del círculo: "), Validator.getString(sc, "Ingrese el color del círculo: "), Validator.getFloat (sc, "Ingrese el radio del círculo (0 a 10): ", 0, 10)); System.out.printf("\nFigura\t\tCódigo\tColor\tDimensiones\tArea\tPerímetro\n"); System.out.printf("Rectángulo:\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n", rec.codigo, rec.color, rec.largo, rec.ancho, rec.area(), rec.perimetro()); System.out.printf("Círculo:\t%d\t%s\t%.2f\t\t%.2f\t%.2f\n", cir.codigo, cir.color, cir.radio, cir.area(), cir.perimetro()); } } public class Validator { public static String getString(Scanner sc, String prompt){ System.out.print(prompt); String s = sc.next(); sc.nextLine(); return s; } public static int getInt(Scanner sc, String prompt){ int i = 0 ; boolean isValid = false; while (isValid == false){ System.out.print(prompt); if (sc.hasNextInt()){ i = sc.nextInt(); isValid = true; } else System.out.println("Error! Valor entero no válido. Intente de nuevo."); sc.nextLine(); } return i; } public static int getInt(Scanner sc, String prompt, int min, int max){ int i = 0; boolean isValid = false; while (isValid == false){ i = getInt(sc, prompt); if (i < min) System.out.println("Error! El número debe ser mayor o igual que " + min + "."); else if (i > max) System.out.println("Error! El número debe ser menor o igual que " + max + "."); else isValid = true; } return i ; } public static double getDouble(Scanner sc, String prompt){ double d = 0 ; boolean isValid = false; while (isValid == false){ System.out.print(prompt); if (sc.hasNextDouble()){ d = sc.nextDouble(); isValid = true; } else System.out.println("Error! Valor decimal no válido. Intente de nuevo."); sc.nextLine(); } return d; } public static double getDouble(Scanner sc, String prompt, double min, double max) { double d = 0 ; boolean isValid = false; while (isValid == false){ d = getDouble(sc, prompt); if (d < min) System.out.println("Error! El número debe ser mayor o igual que " + min + "."); else if (d > max) System.out.println("Error! El número debe ser menor o igual que " + max + "."); else isValid = true; } return d; } public static float getFloat(Scanner sc, String prompt){ float d = 0 ; boolean isValid = false; while (isValid == false){ System.out.print(prompt); if (sc.hasNextFloat()){ d = sc.nextFloat(); isValid = true; } else System.out.println("Error! Valor decimal no válido. Intente de nuevo."); sc.nextLine(); } return d; } public static float getFloat(Scanner sc, String prompt, float min, float max) { float d = 0 ; boolean isValid = false; while (isValid == false){ d = getFloat(sc, prompt); if (d < min) System.out.println("Error! El número debe ser mayor o igual que " + min + "."); else if (d > max) System.out.println("Error! El número debe ser menor o igual que " + max + "."); else isValid = true; } return d; } } interface FiguraInter{ float area(); float perimetro(); } abstract class Figura implements FiguraInter{ public int codigo; public String color; Figura(int codigo, String color){ this.codigo = codigo; this.color = color; } } final class Circulo extends Figura{ public float radio; public Circulo(int codigo, String color,float radio){ super(codigo, color); this.radio = radio; } public float area() {return (float)(Math.PI*radio*radio);} public float perimetro() {return (float)(Math.PI*radio*2);} } final class Rectangulo extends Figura{ public float largo; public float ancho; public Rectangulo(int codigo, String color, float largo, float ancho){ super(codigo, color); this.largo = largo; this.ancho = ancho; } public float area() {return largo*ancho;} public float perimetro(){return 2*(largo+ancho);} }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue