Java-ohjelma sen tarkistamiseksi, onko numero palindromi vai ei

Tässä ohjelmassa opit tarkistamaan, onko numero Java-palindrominen vai ei. Tämä tehdään käyttämällä silmukkaa for while.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:

  • Java jos… muuten lausunto
  • Java taas ja tee … samalla kun silmukka
  • Java silmukalle

Esimerkki 1: Ohjelma Palindromen tarkistamiseksi while-silmukan avulla

 public class Palindrome ( public static void main(String() args) ( int num = 121, reversedInteger = 0, remainder, originalInteger; originalInteger = num; // reversed integer is stored in variable while( num != 0 ) ( remainder = num % 10; reversedInteger = reversedInteger * 10 + remainder; num /= 10; ) // palindrome if orignalInteger and reversedInteger are equal if (originalInteger == reversedInteger) System.out.println(originalInteger + " is a palindrome."); else System.out.println(originalInteger + " is not a palindrome."); ) )

Tuotos

 121 on palindromiluku.

Tässä ohjelmassa

  • Ensinnäkin annetun numeron (num) arvo tallennetaan toiseen kokonaislukumuuttujaan, originalInteger. Tämä johtuu siitä, että meidän on vertailtava käänteisen luvun ja alkuperäisen luvun arvoja lopussa.
  • Sitten jonkin aikaa silmukkaa käytetään silmukan läpi numero, kunnes se on yhtä suuri kuin 0.
    • Kullakin iteraatiolla viimeinen numeronumero tallennetaan loppuosaan.
    • Sitten loput lisätään reversedIntegeriin siten, että se lisätään seuraavaan paikka-arvoon (kerrottuna 10: llä).
    • Sitten viimeinen numero poistetaan numerosta numerolla 10 jakamisen jälkeen.
  • Lopuksi verrataan käänteistä ja alkuperäistä kokonaislukua. Jos se on yhtä suuri, se on palindromiluku. Jos ei, se ei ole.

Tässä ovat suoritusvaiheet:

Palindromen suoritusvaiheet
numero numero! = 0 loput käänteinen kokonaisluku
121 totta 1 0 * 10 + 1 = 1
12 totta 2 1 * 10 + 2 = 12
1 totta 1 12 * 10 + 1 = 121
0 väärä - 121

Esimerkki 2: Ohjelma Palindromen tarkistamiseksi käyttämällä silmukkaa

 public class Palindrome ( public static void main(String() args) ( int num = 11221, reversedInteger = 0, remainder, originalInteger; originalInteger = num; // reversed integer is stored in variable for( ;num != 0; num /= 10 ) ( remainder = num % 10; reversedInteger = reversedInteger * 10 + remainder; ) // palindrome if orignalInteger and reversedInteger are equal if (originalInteger == reversedInteger) System.out.println(originalInteger + " is a palindrome."); else System.out.println(originalInteger + " is not a palindrome."); ) )

Tuotos

 11221 ei ole palindromi.

Yllä olevassa ohjelmassa käytetään silmukkaa hetkellisen silmukan sijaan.

Jokaisella iteraatiolla num /= 10suoritetaan ja kunto num !=0tarkistetaan.

Mielenkiintoisia artikkeleita...