Problem when using break

Hey guys, iv got a problem in my code where in swapping items in my inventory, here’s my code for it


	for(int i=0; i<inventoryCopy.length;i++){
					if(inventoryCopy[i].getX()-GameLoop.mousePX<8&&inventoryCopy[i].getY()-GameLoop.mousePY<8&&inventoryCopy[i].getX()-GameLoop.mousePX>-8&&inventoryCopy[i].getY()-GameLoop.mousePY>-8){
						one = i;
						inventoryCopy[i].setX(GameLoop.mouseX); inventoryCopy[i].setY(GameLoop.mouseY);
						g.drawImage(inventoryCopy[i].getSprite(), inventoryCopy[i].getX(), inventoryCopy[i].getY(), this);
						selected=true;}break;}
				for(int i=0; i<inventoryCopy.length;i++){
					if(selected==true&&inventoryCopy[i].getX()-GameLoop.mousePX<8&&inventoryCopy[i].getY()-GameLoop.mousePY<8&&inventoryCopy[i].getX()-GameLoop.mousePX>-8&&inventoryCopy[i].getY()-GameLoop.mousePY>-8&&inventoryCopy[i]!=inventoryCopy[one]){
					    selected2=false;
					    System.out.println("works");
						two=i;
					   if(one>-1&&two>-1){
						  inventoryCopy = swap(inventoryCopy,one, two);
						  one=-1;
						  two=-1;
					   }}}


 //this method is called when an item is to be swapped around.
public ItemEntity[] swap(ItemEntity[] c, int first, int second){
	ItemEntity temp = c[first];
	c[first] = c[second];
	c[second] = temp;
	selected=false;
	return c;
}

the problem im having is that to get items to swap properly I have to have that break statement in the first ‘for loop’ so that the statement goes to the next loop and does the swapping, it works properly but it only works once, meaning after I swap an item around for the first time than it wont work again. The first ‘for loop’ isnt executing anymore and therefor I cant swap anything around after I swapped my first item.
Iv been messing around with this for awhile, but am pretty stumped, any ideas would be extremely helpful (: