Es por que no estas seteando los nuevos valores optenidos
String clave, descripcion, marca, presentacion
; int mayoreo, menudeo;
int compra;
clave = br.readLine();
try{
for (int i = 0; i < A2.length; i++) {
if (A2[i].getclave().equals(clave)){
System.
out.
print("Nueva Clave: "); clave = br.readLine();
A2[i].setclave(clave);
System.
out.
print("Nueva Marca: "); marca = br.readLine();
System.
out.
print("Nueva Descripcion: "); descripcion = br.readLine();
System.
out.
print("Nueva Presentacion: "); presentacion = br.readLine();
System.
out.
print("Nueva Presio de compra:" + "$"); compra
= Integer.
parseInt(br.
readLine()); System.
out.
print("Nueva Presio de menudeo:" + "$"); menudeo
= Integer.
parseInt(br.
readLine()); System.
out.
print("Nueva Presio de mayoreo:" + "$"); mayoreo
= Integer.
parseInt(br.
readLine()); Articulos003 aux = new Articulos003(marca, descripcion,presentacion, compra, menudeo, mayoreo);
A2[i] = new Articulos002(clave, aux);
}
}
System.
out.
println("No existe ese registro"); }
}
Y sobre que no borre los datos,bueno veras tendras que modificar un poco de programa ya que no es bueno estar llamando varios main de una clase como lo estas haciendo tu, lo que tienes que hacer es creer un metodo que contenga lo que tienes en el metodo main de cada una de las clases, y llamar a ese metodo nuevo con las mismas funciones que tenias anteriormente en el main. Es en estas parte
de la clase
Controldetienda switch (opc) {
case 1:
Articulos001.main(args); // En vez de esto llamas el nuevo metodo de la clase
break;
case 2:
Clientes001.main(args);// En vez de esto llamas el nuevo metodo de la clase
break;
case 3:
Proveedores001.main(args);// En vez de esto llamas el nuevo metodo de la clase
break;
case 4:
Ventas001.main(args);// En vez de esto llamas el nuevo metodo de la clase
break;
case 5:
Compras001.main(args);// En vez de esto llamas el nuevo metodo de la clase
default:
}