JAVA: Porównanie nie działa, gdy liczba całkowita jest większa niż 128
Ta sekcja mojego programu Java, którą wykupiłem i która została uproszczona do przetestowania. Zadaniem jest porównanie dwóch liczb całkowitych z tablicy ArrayList i określenie, czy są one równe.
Poniższy kod działa dla liczb <128, ale dla dowolnej liczby> 128, a kod nie będzie działać.
Każda pomoc byłaby naprawdę świetna, dzięki.
<code>import java.util.*; public class test { public static void main (String[] args) { Integer seat1Store = 128; Integer seat2Store = 128; Integer seat3Store = 0; Integer seat4Store = 0; Integer seat5Store = 0; ArrayList<Integer> proceedArray = new ArrayList<Integer>(); if (seat1Store !=0) { proceedArray.add(seat1Store); } if (seat2Store !=0) { proceedArray.add(seat2Store); } if (seat3Store !=0) { proceedArray.add(seat3Store); } if (seat4Store !=0) { proceedArray.add(seat4Store); } if (seat5Store !=0) { proceedArray.add(seat5Store); } System.out.println("ArrayList = " + proceedArray); boolean proceed = false; for(int i = 0; i<proceedArray.size();i++) { for(int p=0; p<proceedArray.size(); p++) { if(i != p) { if(proceedArray.get(i) == proceedArray.get(p)) { System.out.println("DUPLICATE"); System.exit(0); } } } proceed = true; } if (proceed == true) { System.out.println("PROCEEDED"); } } } </code>