Non riesco a pensare ad un titolo migliore. Bene il problema è: Ho il "int i", può essere qualsiasi valore. il mio obiettivo è trasformare "int i" nel numero più vicino divisibile per .Java - Come verificare se una divisione è un intero o un float?
Ad esempio, ho ottenuto i = 33. Quindi verrò convertito in (16x2). Ma se ottengo i = 50, verrà convertito in (16x3).
Ho provato molte cose, ad esempio:
for (int x = i; x < 999; x++){
if ((i - x)/16 *is an integer*){
i = i - x;
}
ma non so come verificare se un numero intero. Quindi forse il mio codice precedente funziona, ma ho solo bisogno di trovare un modo per verificare se è un intero o un float. Quindi ... ogni aiuto è apprezzato.
La divisione di due interi avrà sempre un risultato int. Puoi invece usare modulo ('%'). – GriffeyDog
FWIW, suggerirei di provare un approccio diverso per risolvere questo problema. Questo approccio del looping per cercare un numero che è possibile sottrarre da i per ottenere un multiplo di 16 è terribilmente inefficiente. E se il multiplo più vicino a 16 è maggiore di me? – Alex