Ho implementato il metodo next(n) pensando in questo modo:
per prendere ogni singola cifra del numero n uso il charAt()
per ordinare i numeri uso Array.sort(array)
per creare a e b leggo e concateno ogni elemento dell'array ordinato
trasformo le due concatenazioni in interi
faccio la sottrazione
Ho fatto tutto questo giro perchè non mi è venuto in mente qualcosa di più "leggero", è dato dal fatto che nn riuscivo a capire come leggere ogni singola cifra.
Ho provato con gli stessi numeri che mi dava l'errore e utilizzando da solo il metodo next(n) funziona bene.
anche se non è il massimo era giusto per provare se il metodo funziona ed infatti mi stampa questocodice:public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("Numero: "); int n = in.nextInt(); System.out.println(n); System.out.println(next(n)); System.out.println(next(next(n))); System.out.println(next(next(next(n)))); System.out.println(next(next(next(next(n))))); System.out.println(next(next(next(next(next(n)))))); }
codice:Numero : 678 678 198 792 693 594 495

Rispondi quotando