„Java“ programa, skirta patikrinti, ar skaičius yra „Palindrome“, ar ne

Šioje programoje išmoksite patikrinti, ar Java yra palindromas, ar ne. Tai daroma naudojant „loop“ ir „while“.

Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:

  • „Java“, jei… kitas pareiškimas
  • „Java“ ir daryk … o „Loop“
  • „Java for Loop“

1 pavyzdys: Palindromo tikrinimo programa naudojant while ciklą

 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."); ) )

Rezultatas

 121 yra palindromas.

Šioje programoje

  • Pirma, nurodyto skaičiaus (numerio) vertė yra saugoma kitame sveikojo skaičiaus kintamajame „originalInteger“. Taip yra todėl, kad pabaigoje turime palyginti atvirkštinio skaičiaus ir pradinio skaičiaus vertes.
  • Tada, kol ciklas naudojamas cikliui per num, kol jis bus lygus 0.
    • Kiekvienoje iteracijoje paskutinis numerio skaitmuo saugomas likusioje dalyje.
    • Tada likusi dalis pridedama prie reversedInteger taip, kad ji būtų pridėta prie kitos vietos vertės (padauginus iš 10).
    • Paskutinis skaitmuo pašalinamas iš numerio po padalijimo iš 10.
  • Galiausiai lyginami reversedInteger ir originalInteger. Jei lygus, tai yra palindrominis skaičius. Jei ne, taip nėra.

Čia pateikiami vykdymo veiksmai:

Palindromo vykdymo žingsniai
skaičius skaičius! = 0 priminimas atvirkštinis skaičius
121 tiesa 1 0 * 10 + 1 = 1
12 tiesa 2 1 * 10 + 2 = 12
1 tiesa 1 12 * 10 + 1 = 121
0 melagingas - 121

2 pavyzdys: Palindromo tikrinimo programa naudojant kilpą

 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."); ) )

Rezultatas

 11221 nėra palindromas.

Pirmiau pateiktoje programoje „loop“ naudojama vietoj „loop“.

Kiekvienoje iteracijoje num /= 10vykdoma ir num !=0tikrinama būklė .

Įdomios straipsniai...