chillor Geschrieben 31. Oktober 2010 Geschrieben 31. Oktober 2010 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???? Zitieren
lilith2k3 Geschrieben 31. Oktober 2010 Geschrieben 31. Oktober 2010 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 :] Zitieren
kingofbrain Geschrieben 2. November 2010 Geschrieben 2. November 2010 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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.