Witam,
program w teorii ma sprawdzać ile różnych liczb można stworzyć wykorzystując podaną przez użytkownika liczbę (jej cyfry i długość). Kilka rzeczy muszę dopisać, ale to w sumie nie jest teraz istotne. Istotne jest to, że gdy podamy programowi liczbę z x zerami to on nie zauważy ani jednego (tam pod else, żeby zwiększał zmienną "licznikzer"). Liczba zer jest mi potrzebna, bo w zależności od niej zmienia się trochę sposób liczenia. Kod:
import java.util.Scanner;
public class liczeniecyfr {
public static void main(String [] args){
int mnoznik = 2;
int kombinacje = 1;
int licznikzer = 0;
int temp;
String cyfra;
System.out.print("Podaj cyfrę: ");
Scanner odczyt = new Scanner (System.in);
cyfra = odczyt.nextLine();
int intIndex = cyfra.indexOf("0");
int length = cyfra.length();
if (intIndex == - 1) {
while(mnoznik <= length){
kombinacje = kombinacje * mnoznik;
mnoznik++;
}
}
else{
for(int i = 0; i < length; i++){
temp = cyfra.charAt(i);
if(temp == 0){
licznikzer++;
}
}
System.out.println("Liczba posiada " + licznikzer + " zer.");
}
System.out.println("Liczba kombinacji to: " + kombinacje);
}
}
Z góry dzięki za pomoc ;]
tl;dr w przypadku podania liczby z zerami, ich liczba nie jest poprawnie zliczana - dlaczego?