Eine Position im String durch einen Integer - Wert teilen

Diskutiere Eine Position im String durch einen Integer - Wert teilen im Java Basics - Anfänger-Themen Bereich.
J

JavaKev

Hallo, ich wollte eine Methode schreiben, bei der ein String gegeben ist und man dann die einzelnen Zeichen durch einen Integer wert teil. Wenn dies möglich ist, dann soll dieser char zwischengespeichert werden, und dann zum Schluss sollen alle Zeichen die durch diesen wert teilbar waren als String zurückgegeben werden.

Nun mein Codeversuch:
Java:
public String extractSubChars(String x, int m){
    String store = "";
    for (int i = 0; i < x.length(); i++) {
        if (x.charAt(i) % m == 0) {
            store += x.charAt(i);
        }
    }
    return store;
    
}
allerdings macht dieser Code nicht genau was er soll, z.B. bei
extractSubChars("BABCD", 3) gibt er BB anstatt BC aus und bei anderen Beispielen gibt er gar nichts aus. Hat jemand einen Vorschlag?
 
J

JustNobody

Also willst Du die Position prüfen und nicht das Zeichen selbst.

Derzeit prüfst Du ob das Zeichen (Also die Byte Representation des Zeichens) durch 3 teilbar ist. Schau Dir im Web einmal eine ASCII Tabelle an - dann siehst Du die Werte der Zeichen - wobei Java natürlich nicht ASCII sondern UTF-16 verwendet. Aber das ist erst einmal egal. ASCII Tabelle kannst Du Dir mal ansehen).

Also musst du nicht das charAt(i) prüfen sondern die Position (i).
 
L

LimDul

Du rechnest den Character-Wert des Zeichens modul 3 - nicht die Stelle. Das heißt, es wird nicht die 3te Stelle ausgegeben, sondern alle Stellen, wo der character-Wert modulo 3 den Wert 0 hat. was du meinst ist vermutlich
Java:
if (i % m ==0) {
....
}
 
J

JavaKev

Oh Gott, vielen Dank euch! Da habe ich einen riesen Denkfehler gehabt.
Jetzt gehts!
 
Thema: 

Eine Position im String durch einen Integer - Wert teilen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben