Armstrong-Zahl (String-Variante) in Java

In diesem Java-Code Beispiel werden alle Armstrongzahlen zwischen 0 und 999999 ausgegeben.

Was ist eine Armstrongzahl?

Die Summe ihrer Ziffern, jeweils potenziert mit der Stellenanzahl der Zahl, ergibt wieder die Zahl selbst.

 

Hier ist ein Beispiel für eine Armstrongzahl:

153
Exponent 3, weil 3 Ziffern
1*1*1 + 5*5*5 + 3*3*3 = 153

 

Der Java-Code:

package Armstrongzahl;

/**
*
* @author Stefan Schmitz
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Main m = new Main();
int x = 0;
int y = 99999;
int zaehler=0;

for(int zahl=x;zahl<=y;zahl++){
if (m.isArmstrong(""+zahl)){
System.out.println("Ist eine Armstrongzahl");
zaehler++;
System.out.println(zahl);
}
}
System.out.println(zaehler + " Armstrongzahlen");
}

public int countZiff(String zahl){
int cz =0;
if (zahl.contains("-")){
System.out.println("Zahl muss positiv sein!");
}else{
cz = zahl.length();
}
return cz;
}

public int potenziere(int zahl, int pot){
int erg=1;
if (pot > 0){
for (int i = 1; i <=pot; i++){
erg = erg * zahl;
}
}
return erg;
}

public boolean isArmstrong(String zahl){
int erg=0;
int ziffAnz;
// Zifferanzahl
ziffAnz = countZiff(zahl);
for (int i = 0; i<ziffAnz;i++){
// Ziffer hoch Zifferanzahl
erg = erg + potenziere(zahl.charAt(i)-48, ziffAnz);
}
if (zahl.equals("" + erg)){
return true;
}
else{
return false;
}
}
}

Kommentar schreiben

Momox.de - Einfach verkaufen.