chillor Geschrieben 31. Oktober 2010 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lilith2k3 Geschrieben 31. Oktober 2010 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 2. November 2010 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.