No puede ser por culpa del existir porque siempre es diferente de -1 en el caso que os he puesto arriba y tampoco funcionaba antes de ponerlo.
Código:
int numero1=0,numero2=0,nvalorI1=0,existir=-1;
double tantoporciento=0,ninc1=0,incremento10=0;
String valor1=taulaCotitzaciones[i][2];
String nombre1=taulaCotitzaciones[i][0];
String valorI1=taulaCotitzaciones[i][1];
String inc1=taulaCotitzaciones[i][3];
String maxDec1=taulaCotitzaciones[i][5];
String maxInc1=taulaCotitzaciones[i][4];
valorI1.trim();
valorI1.replaceAll(" ","");
nvalorI1=Integer.parseInt(valorI1);
inc1.trim();
inc1.replaceAll(" ","");
ninc1=Integer.parseInt(inc1);
boolean ex=false;
Double d1 = new Double(inc1);
Double d2 = new Double (incremento10);
for (i=0;i<posicion;i++)
{
ex=taulaCotitzaciones[i][0].equals(nombre1);
if (ex)
{
existir=i;
break;
}
}
incremento10=nvalorI1*0.1;
if (d1.compareTo(d2)<0&&existir!=-1)
{
mostrar(taulaCotitzaciones,i);
}
Esto es el resto del codigo de la función. El for que hay antes del if comprueba si existe algun campo con el mismo nombre que el nombre1.