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

Informatiker Board » Themengebiete » Praktische Informatik » Aufgabe, Russische Bauernmultiplikation JAVA » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 3 Beiträge
Someone

Oh wow das ging schnell... vielen Dank!
eulerscheZahl

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
}
Someone Aufgabe, Russische Bauernmultiplikation JAVA

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

}