Java-program til at finde summen af cifre i en streng
I dette indlæg vil vi udvikle et Java-program til at finde summen af cifre i en streng. Strengen kan indeholde et hvilket som helst tegn, vi skal finde tegnene som er alfabeter og derefter beregne deres sumværdi.
Fremgangsmåde for at finde summen af cifre i en streng Java,
1) Tag en streng.
2) Deklarer variabler for at gemme sumværdien, tegnværdien, numeriske værdier for tegnet.
3) Hent tegnet. For at hente tegnet kan vi bruge metoden charAt() fra String-klassen. Prototypen af charAt()-metoden er:- public char charAt(int index)
4) Tjek nu, om tegnet er et ciffer eller ej? Vi kan kontrollere det manuelt ved at bruge ASCII-værdien fra 0 til 9, eller vi kan bruge isDigit()
metode for Character-klassen.
Der er to overbelastningsformer af isDigit()
metode. Prototypen af isDigit()-metoden af Character-klassen er:-
public static boolean isDigit(char ch)
public static boolean isDigit(int codePoint)
5) Hvis det hentede tegn ikke er et ciffer, så gå til næste trin, ellers konverter tegnet til cifferet. Til dette formål kan vi bruge getNumericValue()
metode i Character-klassen. Det returnerer int-værdien af det givne tegn.
6) Tilføj den numeriske værdi til sumvariablen
7) Gentag de 3 til 6 trin indtil slutningen af strengen. For at finde længden af strengen, brug length() metoden i String-klassen.
Java-program til at finde summen af cifre i en streng
import java.util.Scanner;
public class SumOfDigitsInString {
private static int sumOfdigits(String number) {
// variable to store sum of digits
int sum = 0;
// variable to hold character
char ch ;
// variable to hold numeric value of ch
int n;
// loop to iterate the String
for(int i=0; i<number.length(); i++) {
// find character
ch = number.charAt(i);
// check character is digit?
if(Character.isDigit(ch)) {
// find numeric value of character
n = Character. getNumericValue(ch);
// then add it to sum variable
sum += n;
}
}
// return sum value
return sum;
}
public static void main(String[] args) {
// declare variables
String str = null;
int sum = 0;
// create Scanner class object
// for reading the values
Scanner scan = new Scanner(System.in);
// read inputs
System.out.print("Enter String:: ");
str = scan.next();
// find sum of digits in the String
sum = sumOfdigits(str);
// display result
System.out.println("The sum of "
+" digits in the string "+str
+" = "+ sum);
// close Scanner class object
scan.close();
}
}
Output for de forskellige test-cases:-
Indtast streng::12345
Summen af cifre i strengen 12345 =15
Indtast streng::09851
Summen af cifre i strengen 09851 =23
Indtast streng::hello2021
Summen af cifre i strengen hello2021 =5
Indtast streng::[email protected]
Summen af cifre i strengen [email protected] =28
Lignende eksempler på Java-programmering
- Det største af tre tal i Java
- Skipårsprogram i Java
- Krishnamurthy-nummer