Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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ß

Geschrieben

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

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...