Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Aufgabe, Russische Bauernmultiplikation JAVA » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen Aufgabe, Russische Bauernmultiplikation JAVA
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Someone
Grünschnabel


Dabei seit: 24.01.2016
Beiträge: 8

Aufgabe, Russische Bauernmultiplikation JAVA Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo zusammen,
bin neu hier und hoffe auf etwas Hilfestellung bei meiner Aufgabe.

Zitat:
Aufgabe 1 25 Punkte
Die Russische Bauernmultiplikation zweier ganzer Zahlen a und b funktioniert wie folgt.

Initialisiere
Setze p = 0.
Setze v auf wahr, falls das Vorzeichen des Produkts von a und b negativ ist, sonst
auf falsch.

Iteriere
Solange b ungleich 0 ist
Falls b ungerade ist, erh ohe p um a
Verdopple a.
Halbiere b ganzzahlig.

Finalisiere
Falls n otig, abh angig von v und p, ver andere das Vorzeichen von p.
Liefere p als Ergebnis.

Schreiben Sie eine Java-Applikation, die zwei ganze Zahlen als Kommandozeilenargumente
entgegen nimmt, mit Russischer Bauernmultiplikation multipliziert und das Ergebnis
ausgibt, ohne dabei die Multiplikation (*) von Java zu benutzen.
Gliedern Sie den Quelltext in die Abschnitte Initialisiere, Iteriere, Finalisiere und Kennzeichnen
Sie die Abschnitte durch Kommentare.
(25 Punkte)


Ich habe soweit das hier hinbekommen, aber irgendwas fehlt....eclipse sagt, dass der booleanwert v nicht genutzt wird, was ich auch sehe. Doch in der Aufgabestellung steht auch nicht genaueres. Ehrlich gesagt, weiß ich auch nicht was der boolean-Typ hier macht.

Hoffe ihr könnt hier mir weiterhelfen smile

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
public class BM2 {
	
	public static void main(String[] args) {
		
		int a = 15;            //feste Konstante ansonsten Integer.parseInt(args[0]);
		int b = 10;            //feste Konstante ansonsten Integer.parseInt(args[1]);
		int p = 0;
		
		boolean v = false;
				if (a < 0 ^ b < 0)
					v = true;
				
		while(b != 0) {
			if (b % 2 != 0) {
				p += a;
				a += a;
				b /= 2;
			}	
		}
			if (v = true ^ p < 0) {
				p = -p;
		
				System.out.println(p);
		}
	}

}

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Someone: 24.01.2016 17:15.

24.01.2016 17:11 Someone ist offline Beiträge von Someone suchen Nehmen Sie Someone in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Siehe Kommentare
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
public static void main(String[] args) {

	int a = 15;
	int b = 10;
	int p = 0;

	boolean v = false;
	if (a < 0 ^ b < 0)
		v = true;

	while (b != 0) {
		if (b % 2 != 0) {
			p += a;
		}
		a += a; //aus if herausgezogen
		b /= 2; //aus if herausgezogen, sonst gibt es eine Endlosschleife
	}
	if (v == true ^ p < 0) { //= zu ==, es soll ja keine Zuweisung werden
		p = -p;

	}
	System.out.println(p); //aus if herausgezogen, wir wollen das Ergebnis immer sehen
}


__________________
Syntax Highlighting fürs Board (Link)
24.01.2016 17:22 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Someone
Grünschnabel


Dabei seit: 24.01.2016
Beiträge: 8

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Oh wow das ging schnell... vielen Dank!
24.01.2016 17:36 Someone ist offline Beiträge von Someone suchen Nehmen Sie Someone in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Informatiker Board » Themengebiete » Praktische Informatik » Aufgabe, Russische Bauernmultiplikation JAVA