Zum Inhalt springen

DIV vs. MOD


empty88

Empfohlene Beiträge

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 > B);

// solange Rest > als Divisor, führe die Schleife aus.

if ( a > B)

// 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ß

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...