online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
import java.text.NumberFormat; import java.nio.file.*; import java.io.*; import java.util.ArrayList; class ProdMantApp{ static String dir = "uno"; static String ar1 = "maestro1.txt", ar2 = "actualizar.txt", ar3 = "maestro2.txt"; static BD bd = new BD(); public static void main(String[] args){ crearEntrada(); bd.actualizar(dir, ar1, ar2, ar3); salida(dir, ar3); } static void crearEntrada(){ bd.crearDir(dir); Producto [] ps1 = {new Producto("P1", Utility.ranI(80), Utility.ranF(50)), new Producto("P3", Utility.ranI(80), Utility.ranF(50)), new Producto("P4", Utility.ranI(80), Utility.ranF(50))}; System.out.println("\nEntradas:"); System.out.println("Archivo " + ar1); System.out.println("código cantidad precio"); for(Producto p: ps1) System.out.println(p); bd.escribir(ps1, dir, ar1); System.out.println("Archivo " + ar2); System.out.println("código cantidad precio"); Producto [] ps2 = {new Producto("P2", Utility.ranI(80), Utility.ranF(50)), new Producto("P3", Utility.ranI(80), Utility.ranF(50))}; for(Producto p: ps2) System.out.println(p); bd.escribir(ps2, dir, ar2); } static void salida(String dir, String ar3){ System.out.println("\nSalida:"); System.out.println("Archivo " + ar3); System.out.println("código cantidad precio"); ArrayList<String> ps3 = bd.salir(dir, ar3); for(String p: ps3) System.out.println(p); } } class Utility{ static int ranI(int n){return (int) (Math.random()*n)+1;} static float ranF(int n){return (float)(Math.random()*n)+1;} } class Producto{ String codigo; int cantidad; float precio; Producto(){} Producto(String codigo, int cantidad, float precio){ this.codigo = codigo; this.cantidad = cantidad; this.precio = precio; } public String toString(){ return codigo + "\t" + cantidad + "\t" + NumberFormat.getNumberInstance().format(precio); } public Producto toProducto(String line){ String[] cols = line.split("\t"); return new Producto(cols[0], Integer.parseInt(cols[1]), Float.parseFloat(cols[2])); } } class BD{ void crearDir(String dir){ Path pdir = Paths.get(dir); try{ if (Files.notExists(pdir)) Files.createDirectories(pdir); } catch (IOException e) {System.out.println(e);} } void escribir(Producto[] pr, String dir, String archivo){ File file = Paths.get(dir, archivo).toFile(); try (PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(file, false)))){ for(Producto p: pr) out.println(p); } catch (IOException e){ System.out.println(e);} } void actualizar(String dir, String ar1, String ar2, String ar3){ File file1 = Paths.get(dir, ar1).toFile(); File file2 = Paths.get(dir, ar2).toFile(); File file3 = Paths.get(dir, ar3).toFile(); Producto p = new Producto(), p1, p2, p3; try ( BufferedReader in1 = new BufferedReader(new FileReader(file1)); BufferedReader in2 = new BufferedReader(new FileReader(file2)); PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(file3, false))) ){ String line1 = in1.readLine(); String line2 = in2.readLine(); while(line1 != null && line2 != null) { p1 = p.toProducto(line1); p2 = p.toProducto(line2); if(p1.codigo.compareTo(p2.codigo) == -1){ out.println(line1); line1 = in1.readLine(); continue; } if(p1.codigo.compareTo(p2.codigo) == 1){ out.println(line2); line2 = in2.readLine(); continue; } p3 = new Producto(p1.codigo, p1.cantidad + p2.cantidad, Math.max(p1.precio, p2.precio)); out.println(p3); line1 = in1.readLine(); line2 = in2.readLine(); } while(line1 != null) { out.println(line1); line1 = in1.readLine(); } while(line2 != null) { out.println(line2); line2 = in2.readLine(); } } catch (IOException e){ System.out.println(e);} } ArrayList<String> salir(String dir, String ar3){ ArrayList<String> pros = new ArrayList<>(); File file3 = Paths.get(dir, ar3).toFile(); try (BufferedReader in = new BufferedReader(new FileReader(file3))){ String line = in.readLine(); while(line != null) { pros.add(line); line = in.readLine(); } } catch (IOException e){ System.out.println(e);} return pros; } }

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