Java >> Java tutorial >  >> Java

Gentag gennem cifre i et tal Java

Gentag gennem cifre i et tal Java | I afsnittet beskæftiger vi os med de cifre, som vi itererer over hvert ciffer i et tal og udtrækker det samme. For eksempel:-
Nummer:- 123
Resultat:- 1 2 3

Vi kan iterere gennem cifre i et tal Java på følgende måder,
1) Ved at bruge modulo-operatoren (%)
2) Ved at bruge modulo-operatoren &Math.pow()
3 ) Ved at bruge metoden Integer.toString()

Usecase:- Ved at iterere cifrene i et tal, kan du finde summen af ​​cifre i et tal, summen af ​​lige cifre i antal, summen af ​​ulige cifre i et tal, summen af ​​første og sidste ciffer i et tal, summen af ​​cifre indtil enkelt ciffer, finde nummer for forekomst af et bestemt ciffer i det givne nummer (for eksempel:- finde antal af forekomst af 9 i det givne tal), og e.t.c.

Gentag gennem cifre i et nummer Java ved hjælp af Modulo Operator

Vi ved alle, at modulusoperatoren returnerer resten af ​​divisionen. For eksempel:- 123%10 giver 3, ligesom 3245%100 giver 45.

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);
      System.out.print("Enter a number: ");
      int num = scan.nextInt();

      // if number is negative then make it positive
      if (num < 0) {
         num *= -1;
      }

      System.out.println("Digits in the given number are: ");
      while (num != 0) {
         int remainder = num % 10;
         System.out.print(remainder + " ");
         num = num / 10;
      }

      scan.close();
   }
}

Output:-

Indtast et tal:748465455
Cifrene i det givne nummer er:
5 5 4 5 6 4 8 4 7

Indtast et tal:-123456789
Cifrene i det givne tal er:
9 8 7 6 5 4 3 2 1

Forklaring af koden er som følger:-
Trin-1:- I hovedklassen opret hovedmetoden.
Trin-2:- Initialiser en variabel med et eller andet tal.
Trin-3 :- Brug while-løkken til at iterere over tallet, løkken udføres indtil betingelsen bliver falsk.
Trin-4:- Så inde i while-løkken skal du bruge modulus-operatoren og få resten af ​​tallet. Når de er divideret med 10, udskrives resten og divideres igen med 10. Gentag det for hvert ciffer i det givne tal.

Ovenstående program til at iterere gennem cifrene i et tal Java, gennemløbe cifferet i omvendt rækkefølge . For eksempel hvis tallet er 123456, så går det fra højre til venstre som 6, 5, 4, 3, 2 og 1. Men hvis vi vil krydse cifrene fra venstre mod højre, kan vi tage hjælp af Math.pow( ) metode-, divisions- og modulo-operatorer.

Gener gennem cifre i et tal Java ved hjælp af Math.pow() og operatorer

Lad os se et andet program til at iterere gennem cifrene i et tal Java fra venstre til højre retning ved hjælp af Math.pow()-metoden, division og modulo-operatorer. Math.pow()-metoden returnerer den dobbelte værdi, derfor er vi nødt til at konvertere dem til int-værdi ved hjælp af typecasting.

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);
      System.out.print("Enter a number: ");
      int num = scan.nextInt();

      // if number is negative then make it positive
      if (num < 0) {
         num *= -1;
      }

      // count number of digits
      int temp = num;
      int totalDigits = 0;
      while (temp != 0) {
         totalDigits++;
         temp /= 10;
      }

      // iterate through each digit of the number
      System.out.println("Digits in the given number are: ");
      for (int i = totalDigits - 1; i >= 0; i--) {
         int digit = (num / (int) Math.pow(10, i)) % 10;
         System.out.print(digit + " ");
      }
      scan.close();
   }
}

Indtast et nummer:45158791
Cifrene i det givne nummer er:
4 5 1 5 8 7 9 1

Indtast et tal:-15414454
Cifrene i det givne tal er:
1 5 4 1 4 4 5 4

Java-program til at gentage cifrene i et tal ved hjælp af streng

Vi kan gøre det samme gør det samme ved hjælp af String. Til dette skal vi konvertere et givet tal til streng. Derefter vil vi krydse hvert tegn i strengen. Senere henter vi tegnet i et bestemt indeks ved hjælp af metoden charAt() og konverterer det tegn til int-værdi.

I Java String klasse er String.valueOf() metode givet til at konvertere alle typer primitive værdier til streng type. Der er flere overbelastede former for valueOf()-metoden i String-klassen.

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);
      System.out.print("Enter a number: ");
      int num = scan.nextInt();

      // if number is negative then make it positive
      if (num < 0) {
         num *= -1;
      }

      // convert number to string
      String digits = String.valueOf(num);

      System.out.println("Digits in the given number are: ");
      for (int i = 0; i < digits.length(); i++) {
         // find character at particular index and
         // convert character to int value
         int digit = 
            Integer.valueOf(String.valueOf(digits.charAt(i)));
         System.out.print(digit + " ");
      }
      scan.close();
   }
}

Output:-

Indtast et nummer:717485465
Cifrene i det givne nummer er:
7 1 7 4 8 5 4 6 5

Indtast et tal:-1456174115
Cifrene i det givne tal er:
1 4 5 6 1 7 4 1 1 5


Java tag