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????
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 :]
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden