Veröffentlicht 31. Oktober 201014 j Hallo, ich habe einen String der so aussieht: VIN441-506 Die ersten drei Stellen "VIN" müssen den Wert "VIN" besitzen. Lösung: String startStr = "VIN"; vIN.startsWith(startStr); Aber zusätzlich multipliziert man die erste Ziffer des ersten Ziffernblocks mit 3, die zweite mit 2 und die dritte mit 1. Lässt sich die Summe der so entstandenen Zahlen glatt durch 7 teilen und ergibt die Summe des 2. Zifferblocks den Wert 11, ist die Nr. (siehe oben ->VIN441-506) gültig. wie löst man dieses Problem????
31. Oktober 201014 j Ganz einfach: Schreibe eine Funktion, zu zuallererst prüft, ob die ersten drei Stellen "V" "I" "N" sind. Anschließend multipliziert die Funktion die erste Ziffer des Ziffernblocks mit 3, die zweite mit 2, und die dritte lässt sie gleich, so wie sie ist - Multiplikation mit 1 ist Käse. Anschließend wird Modulo 7 gerechnet. Ist dann die Summe der so entstandenen Zahlen gleich 11 ist es eine valide Zahl. So einfach :]
2. November 201014 j Ergänzend zu lilith2k3s Hinweis könnten die folgenden Stellen in der Java API Doc noch spannend sein: - String#charAt(int index) - Integer.parseInt(String value) Schöne Grüße, Peter
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.