online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
import java.util.Scanner; import java.text.NumberFormat; public class ProductoApp{ public static void main(String args []){ System.out.println("Bienvenido a la información de productos\n"); Scanner sc = new Scanner(System.in); // lee un código Libro o Software String choice = "s"; while (choice.equalsIgnoreCase("s")) { System.out.print("Ingrese el código del producto: "); String productoCodigo = sc.next(); sc.nextLine(); // descarta cualquier otro dato de la línea Producto p = ProductoDB.getProducto(productoCodigo); if (p != null) System.out.println(p); // equivalente a p.toString() else System.out.println("No hay producto con este código.\n"); System.out.println("Contador de producto: " + Producto.getContador() + "\n"); System.out.print("Continúa? (s/n): "); choice = sc.nextLine(); System.out.println() ; } } } class Producto{ private String codigo; private String descripcion; private double precio; protected static int contador = 0 ; public Producto() {} public void setCodigo(String codigo){this.codigo = codigo;} public String getCodigo(){return codigo;} public void setDescripcion(String descripcion){this.descripcion = descripcion;} public String getDescripción(){return descripcion;} public void setPrecio(double precio){this.precio = precio;} public double getPrecio(){return precio;} public String getFormattedPrecio(){ NumberFormat currency = NumberFormat.getCurrencyInstance(); return currency.format(precio); } // @override Funciona en NetBeans public String toString(){ return "Código : "+ codigo + "\n" + "Descripción: " + descripcion + "\n" + "Precio : " + this.getFormattedPrecio()+ "\n"; } public static int getContador(){ return contador;} } class ProductoDB { public static Producto getProducto(String productoCodigo){ Producto p = null; if (productoCodigo.equalsIgnoreCase("java") || productoCodigo.equalsIgnoreCase("jsps") || productoCodigo.equalsIgnoreCase("mcb2")){ Libro li = new Libro (); if (productoCodigo.equalsIgnoreCase("java")){ li.setCodigo(productoCodigo); li.setDescripcion("Java SE"); li.setPrecio(49.50); li.setAutor("José Vargas"); }else if (productoCodigo.equalsIgnoreCase("jsps")){ li.setCodigo(productoCodigo); li.setDescripcion("Java Servlets y JSP"); li.setPrecio(49.50); li.setAutor("Manuel Terán"); } else if (productoCodigo.equalsIgnoreCase("mcb2")){ li.setCodigo(productoCodigo); li.setDescripcion("Fundamentos de Programación"); li.setPrecio(30.50); li.setAutor("Rafael Obando"); } p = li; }else if (productoCodigo.equalsIgnoreCase("txtp")){ Software s = new Software(); s.setCodigo("txtp"); s.setDescripcion("TextPad"); s.setPrecio(27.00); s.setVersion("4.7.3"); p = s; } return p; } } class Libro extends Producto{ private String autor; // nuevo campo public Libro(){ super(); autor = ""; contador++; } public void setAutor(String autor){ this.autor = autor;} public String getAutor(){return autor;} // @override Funciona en NetBeans public String toString(){ return super.toString() + "Autor : "+ autor + "\n";} } class Software extends Producto{ private String version; // nuevo campo public Software(){ super(); version = ""; contador++; } public void setVersion(String version){this.version = version;} public String getVersion(){return version;} // @override Funciona en NetBeans public String toString(){return super.toString() + "Versión : " + version + "\n";} }

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