empty88 Geschrieben 1. November 2009 Geschrieben 1. November 2009 Hi, habe hier eine Aufgabe wo ich nicht weiter komme. Entwerfen Sie Berechnungsstrategien zu den zwei Methoden div(int x, int y) (diese soll das ganzzahlige Ergebnis einer Integer‐Division ausgeben) und mod(int x, int y) (diese soll den ganzzahligen Rest einer Integer‐Division ausgeben) und setzen Sie diese mittels eines Java‐ Programms um. Dabei dürfen Sie die Operationen /, * und % nicht verwenden. Geben Sie in einer entsprechenden Main‐Methode Beispielaufrufe Ihrer implementierten Methoden an, welche unter anderem negative Parametereingaben berücksichtigen. Hier mal meine Ansätze: public class div2 { static int div(int a, int b, int y) { // a = Rest, b= Divisor und y = Quotient; while (a > ; // solange Rest > als Divisor, führe die Schleife aus. if ( a > // wenn Rest größer als Divisor, wobei bei Division max a+1, a-1 entstehen kann, so kann b nicht größer als a werden. {a = a-b; // Rest= Rest - Divisor, solange bis Rest aufgebraucht y = y+1;} // Ergebnis wird ausgeliefert mit y = 0 als Quotient. Er addiert sich bei jeder Ausführung. return y;} // Gebe y aus. public static void main (String ... args) { System.out.println (div(30,3,0)); } } Dies funktioniert aber nicht, könnt ihr mir vielleicht weiter helfen? Danke schonmal und Gruß
flashpixx Geschrieben 1. November 2009 Geschrieben 1. November 2009 Mache es Dir doch erst einmal einfach und mache es für den positiven Fall. Der negative Fall ist analog, nur dass die Vorzeichen umgekehrt werden. Als Bsp: 31 / 3 = 10 R 1. D.h. Du musst vom der 30 n-mal 3 abziehen, d.h. so lange Dein Quotient > 0 ist. Du lieferst dann die Anzahl der Schritt für das "div" zurück, der Modulo-Fall ist nicht anderes, als wenn Du noch einmal 3 bei dem letzten Fall abziehst und dann das Vorzeichen des Quotienten umkehrst. Ich würde Dir aber zu for-Schleifen raten, da es sich hier um Zählungen handelt
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