# Hilfe für Klausur morgen



## Fireline (29. Okt 2009)

Hallo zusammen  Ich bin neu hier und ich schreibe morgen eine Klausur über Javav in Informatik. Jetzt bräuchte ich Hilfe denn wir müssen ein Javaprogramm Zeile für Zeile, also Befehl für Befehl erklären und mit anderen Worten beschreiben was da bläuft. Nun haben wir noch einen Zettel bekommen zum üben wie es etwa ablaufen könnte und bei einem programm komme ich nicht wirklich voran. Könnte mir vielleicht einer das folgende Programm auf diese Weise erklären, wie gesagt einfach was die Befehle dort bewirken.


```
import java.io
class hanoi
{
public static void bewege (int n, char a, char b, char c)
  {
     if (n==1)
     System.out.println ("1 von "+a+" nach "+b);
     else
     {
      bewege (n-1, a, c, b);
      System.out.println(n+" von "+a+" nach"+b);
      bewege (n-1,c,b,a)
      }
};
public static void main (String args[])
{
int n=5;
bewege (n,'a','b','c');
}
```
Ein anderes Programm noch bei dem folgendes auftritt: (was passiert da?):
b=new double (r).intValue();

Danke


----------



## Gossi (29. Okt 2009)

Fireline hat gesagt.:


> Ein anderes Programm noch bei dem folgendes auftritt: (was passiert da?):
> b=new double (r).intValue();



Beim ersten kann ich leider nicht direkt Helfen, aber hier wird ein Double angelegt,
welches den Wert eines Integers (r) bekommt.


----------



## eRaaaa (29. Okt 2009)

Gossi hat gesagt.:


> Beim ersten kann ich leider nicht direkt Helfen, aber hier wird ein Double angelegt,
> welches den Wert eines Integers (r) bekommt.



muss nicht sein. bei so einem halben ausschnitt könnte "r" auch ein string sein
"5.6"

/edit: ansonsten könnte man ja auch einfach gleich auf int casten


----------



## L-ectron-X (29. Okt 2009)

Kommst ja kurz vor Sendeschluss. 
Das belohne ich glatt mit Verschieben in die Hausaufgaben-Ecke.


----------



## Michael... (29. Okt 2009)

Fireline hat gesagt.:


> Könnte mir vielleicht einer das folgende Programm auf diese Weise erklären


Der Code ist ja selbsterklärend, was soll man da noch erklären ;-)
Hast Du Fragen zu konkreten Zeilen?


----------



## Leroy42 (29. Okt 2009)

> import java.io
Importieren der Klasse java.io

> class hanoi
Deklaration der Klasse hanoi

> public static void bewege (int n, char a, char b, char c)
Deklaration der privaten statischen Methode bewege die nichts zurückliefert
und als Parameter einen Integer und drei character bekommt

> if (n==1)
Falls n gleich 1 ist


> System.out.println ("1 von "+a+" nach "+b);
dann Ausgabe der Konkatenation von "1 von" a "nach" b

> else
sonst

> bewege (n-1, a, c, b);
rekursiver Aufruf der Methode mit den Parametern n-1, a, c und b

>System.out.println(n+" von "+a+" nach"+b);
Ausgabe der Konkatenation n "von " a " nach" b

>bewege (n-1,c,b,a)
rekursiver Aufruf der Methode mit den Parametern n-1, c, b und a

public static void main (String args[])
Deklaration der Einstiegsmethode main

>int n=5;

Deklaration der Integer-Variablen n und Initialisierung mit 5

>bewege (n,'a','b','c');
Aufruf der Methode bewege mit den Parametern n, 'a', 'b' und 'c'

b=new double (r).intValue();
Die Methode intValue() wird auf das Ergebnis von new double(r) aufgerufen und
das Ergebnis der Variablen b zugewiesen

> Danke
Bitte


----------



## Fireline (29. Okt 2009)

So hab ichs mir vorgestellt  Danke für die kurzfristige Hilfe 
Aber was ist eine Konkatenation?
Ganz besoders Zeile wie diese bereiten mir Schwierigkeiten (n+" von "+a+" nach"+b), 
vielleicht stelle ich mich doof an aber das verstehe ich noch immer nicht wirklich???:L


----------



## ARadauer (29. Okt 2009)

zusamenhängen..


----------



## Michael... (29. Okt 2009)

Fireline hat gesagt.:


> So hab ichs mir vorgestellt  Danke für die kurzfristige Hilfe
> Aber was ist eine Konkatenation?
> Ganz besoders Zeile wie diese bereiten mir Schwierigkeiten (n+" von "+a+" nach"+b),
> vielleicht stelle ich mich doof an aber das verstehe ich noch immer nicht wirklich???:L


Konkatenation :  Verknüpfung/ Zusammenführung

Der Wert von n wird mit "von" und dem Wert von a und " nach" und dem Wert von b zu einer Zeichenkette verknüpft.
Bsp n=4, a='a', b='c'
Ergebnis: "4 von a nach c"


----------



## Fireline (29. Okt 2009)

Ich glaub jetzt hab ichs begriffen  Wünscht mir Glück für morgen und nochmals danke


----------



## Leroy42 (29. Okt 2009)

Michael... hat gesagt.:


> Ergebnis: "4 von a nach c"



Falsch. Ergebnis ist *"4 von a nachc" *


----------



## Fireline (29. Okt 2009)

Jetzt bringst du mich durcheinander?!


----------



## Shulyn (29. Okt 2009)

Wenn du einen Text (String) und eine Varriable z.b ein Int zusammen ausgeben möchtest , so must du diese mit einem + "verknüpfen"

*System.out.println ("1 von " * 

// Alles was in den " " steht ist 1 String. wenn du jetzt eine 
Varriable ausgeben möchtest darf diese NICHT in den " " stehen, sonst wäre sie ein String (Text), also müssen wir sie dahinter hängen.


*+ a*

// Wir sagen also das wir den String UND die varriable augeben möchten. Dies kannst du jetzt so oft machen wie du willst. 

*+ " nach " *

// hier hängst du einen weiteren String hinten dran. 

*+ b );*

// und zum schluss noch eine varriable, sowie das ),  was den auszugebeneden ausdruck einschließt.


----------



## Michael... (29. Okt 2009)

Leroy42 hat gesagt.:


> Falsch. Ergebnis ist *"4 von a nachc" *


Danke, wenn Fireline morgen deswegen durch die Klausur geflogen wäre, hätte ich mir das nie verziehen. ;-)


----------



## eRaaaa (29. Okt 2009)

Fireline hat gesagt.:


> Jetzt bringst du mich durcheinander?!



das ist einfach eine verkettung.

du könntest auch schreiben:

String s = "Hallo " + "das ist " + "ein doofes " + "Beispiel";

ausgabe: Hallo das ist ein doofes Beispiel

ob da nun jetzt auch variablen drin vorkommen (was eig. dann auch nur sinn macht)
ist ja dann gleich:

int a = 5;
String s = "Hallo " + "das ist " + "Beispiel " + a;

ausgabe: Hallo das ist Beispiel 5

oder besser

String s = "Hallo das ist Beispiel " + a ;

ausgabe auch: Hallo das ist Beispiel 5


----------



## Fireline (29. Okt 2009)

Danke für die tollen Beispiele  


> Danke, wenn Fireline morgen deswegen durch die Klausur geflogen wäre, hätte ich mir das nie verziehen.


Kann doch jedem mal passieren Michael


----------



## Gossi (30. Okt 2009)

eRaaaa hat gesagt.:


> muss nicht sein. bei so einem halben ausschnitt könnte "r" auch ein string sein
> "5.6"
> 
> /edit: ansonsten könnte man ja auch einfach gleich auf int casten



Mkay, hab grade in meinen Quelltext geschaut, da mache ich das auch mit Strings, mein Fehler


----------

