Angenommen, ich habe eine Nummer 123. Ich muss sehen, ob ich alle Ziffern 1 bis 9, einschließlich 0, erhalten habe. Die Zahl 123 hat drei Ziffern: 1, 2, und 3. Dann multipliziere ich es mit 2 und bekomme 246 (ich bekomme die Ziffern 2, 4, 6). Dann multipliziere ich es mit 3 und ich bekomme 369. Ich mache weiter inkrementelle Multiplikation, bis ich alle Ziffern bekomme.Wie kann ich zählen, wenn eine bestimmte Gruppe von Ziffern in einem Array vorhanden ist?
Mein Ansatz ist die folgende:
public int digitProcessSystem(int N) {
String number = Integer.toString(N);
String [] arr = number.split("");
// List <Integer> arr2 = new ArrayList<>();
for (Integer i = 0; i < arr.length; i++) {
try {
arr2[i] = Integer.parseInt(arr[i]);
} catch (NumberFormatException e) {
}
}
count =0;
boolean contains = IntStream.of(arr2).anyMatch(x -> x == 1|| x==2 ||x == 3|| x==4|| x == 5|| x==6 ||x == 7|| x==8||x == 9|| x==0);
}
Ich weiß wirklich nicht, wie kann ich für Ziffern tun die boolean halten, die nicht oben in der ersten Spur brachte, weil ich auf jeden Fall einem der bekommen alle Ziffern in der obigen booleschen Suche. Wie kann ich das bekommen, wenn bestimmte Ziffern vorhanden sind und manche nicht so sind, dass ich die tatsächliche Zahl multiplizieren kann, um nach den Ziffern zu suchen, die im ersten Versuch nicht gefunden wurden; genauso wie ich es am Anfang definiert habe.
Sie könnten sie einfach in ein 'Set' einfügen und überprüfen, ob die Größe des' Set's 10 – SomeJavaGuy