İnput olarak sayı girdiğimizde uzunluğu ne olursa olsun ters çevirmek istiyorsak, kod;
Bir sayıyı ters çevirmemiz için sayının ilk hali 'first', son halide 'second' olsun. Scanner ı first'e atayarak kullanıcıdan sayı girdikten sonra,
-while döngüsü yapıyoruz ve first sayısı sıfır olmayana kadar devam etmeli, eğer sıfır olursa işlemimiz tamamlanmış olmalı,
-first, 12345 ise , mod 10 unu aldığımızda sondaki 5 i elde etmiş oluruz ama first sayısı aynen kalır, sonra second diye sıfır olan sayıya bunu ekleriz ve işlem sonunda first'ü 10 a böleriz.
her işlemde bu sayıları yanına eklemek için second'ı 10 ile çarparız mod10 a göre bir sonrakini elde ederiz.
-12345 , 5 i mod ile seconda attık, second'ı 10 ile çarptık ve first ü 10 a böldük. first 1234, second 5
-1234 te 4 ü mod ile seconda attık, second'ı 10 ile çarptık ve first ü 10 a böldük. first 123, second 54
.....
en sonda second 54321 olmuş oldu ve onu yazdırıyoruz
Kod:
public static **** main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("Sayıyı girin : ");
int first = scan.nextInt();
int second = 0;
while(first != 0) {
second = 10*second + first%10;
first /= 10;
}
System.out.println("Ters çevrilmiş sayı : " + second );
}
-while döngüsü yapıyoruz ve first sayısı sıfır olmayana kadar devam etmeli, eğer sıfır olursa işlemimiz tamamlanmış olmalı,
-first, 12345 ise , mod 10 unu aldığımızda sondaki 5 i elde etmiş oluruz ama first sayısı aynen kalır, sonra second diye sıfır olan sayıya bunu ekleriz ve işlem sonunda first'ü 10 a böleriz.
her işlemde bu sayıları yanına eklemek için second'ı 10 ile çarparız mod10 a göre bir sonrakini elde ederiz.
-12345 , 5 i mod ile seconda attık, second'ı 10 ile çarptık ve first ü 10 a böldük. first 1234, second 5
-1234 te 4 ü mod ile seconda attık, second'ı 10 ile çarptık ve first ü 10 a böldük. first 123, second 54
.....
en sonda second 54321 olmuş oldu ve onu yazdırıyoruz

