Hallo erstmal,
ich bin sowohl hier neu, wie auch allgemein in Sachen Java. Aufgrund eines Informatik-Studiums lerne ich jetzt Java, und wir haben da letztens eine Aufgabe bekommen die hieß:
Quersumme der letzten 7 Ziffern einer 10 stelligen Zahl bilden, das Ergebnis durch 7 teilen und den Rest ausgeben.
Ich habe das Programm rein logisch gesehen glaub ich richtig, allerdings gibt es noch irgendein Problem, das ich nicht ausfindig machen kann, und zwar stimmt das Ergebnis bei höheren Zahlen nicht bzw. geht gar nicht. Ich schätze mal, dass es ein Problem mit dem Datentyp(int) gibt, leider weiß ich noch nichtmal welchen Datentyp ich hernehmen muss. Wäre super wenn ihr mit helfen könntet.
Hier das Programm:
ich bin sowohl hier neu, wie auch allgemein in Sachen Java. Aufgrund eines Informatik-Studiums lerne ich jetzt Java, und wir haben da letztens eine Aufgabe bekommen die hieß:
Quersumme der letzten 7 Ziffern einer 10 stelligen Zahl bilden, das Ergebnis durch 7 teilen und den Rest ausgeben.
Ich habe das Programm rein logisch gesehen glaub ich richtig, allerdings gibt es noch irgendein Problem, das ich nicht ausfindig machen kann, und zwar stimmt das Ergebnis bei höheren Zahlen nicht bzw. geht gar nicht. Ich schätze mal, dass es ein Problem mit dem Datentyp(int) gibt, leider weiß ich noch nichtmal welchen Datentyp ich hernehmen muss. Wäre super wenn ihr mit helfen könntet.
Hier das Programm:
Java:
import java.io.*;
public class Quersumme {
public static void main(String[] arg) throws IOException {
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(reader);
System.out.print("Bitte geben Sie eine 10-stellige Zahl ein. ");
String Zahl10 = input.readLine();
int Z10 = Integer.parseInt(Zahl10);
int a = Z10 % 10;
int a2 = Z10 / 10;
int b = a2 % 10;
int b2 = a2 / 10;
int c = b2 % 10;
int c2 = b2 / 10;
int d = c2 % 10;
int d2 = c2 / 10;
int e = d2 % 10;
int e2 = d2 / 10;
int f = e2 % 10;
int f2 = e2 / 10;
int g = f2 % 10;
int Q = a + b + c + d + e + f + g;
int ERGEBNIS = Q % 7;
System.out.println("Das Ergebnis ist "+ERGEBNIS+".");
}
}