# kleine java aufgabe: ausgabe von sternchen



## java-_n00b (12. Apr 2007)

hi freunde 
ich würdem ich über eine kleine dokumentation zum lösungsweg zur unten stehenden aufgabe freuen.
wäre nett wenn ihr eine kleine erkläuterung jeweils zum quellcode machen könntet.
wäre euch sehr dankbar
viele liebe grüße 

http://img466.imageshack.us/my.php?image=p1020522hp9.jpg


----------



## Leroy42 (12. Apr 2007)

Und dazu läßt du uns ein fast 500 KBytes großes Bild laden?  :shock: 

Und wo ist dein Ansatz?

Du wirst hier keinen finden, der dir die Hausaufgaben
macht und noch dazu eine _Doku_ schreibt, wenn
wir _keinerlei_ Bemühungen deinerseits Gewahr werden.


----------



## java-_n00b (12. Apr 2007)

das problem ist, dass ich eben den ansatz nicht so recht weiß.
sind auch keine hausaufgaben, ist so für mich zum üben.
ich erwarte von euch auch keine ausfühlriche doku oder so, will aj nicht dreist werden...
ist bei euch im irc was los ? dann würd ich vielleicht mal dahin kommen, wäre besser zum diskutieren,oder?


----------



## Ariol (12. Apr 2007)

for-schleifen und System.out.println(" * ");


----------



## Java-Freak na (12. Apr 2007)

Na dann erbarme ich mich mal.
du machst ne for-Schleife die solange * ausdruckt bis dein Parameter so groß ist, wie n

```
for (int i = 0; i < args[0]; ++i) 
 System.out.print("*")
```
oder wenn du die Sternchen untereinander haben willst

```
for (int i = 0; i < args[0]; ++i) 
 System.out.println("*")
```
Jetzt musst du nur noch die MainMethode drüber setzen.
und bei der zweiten Aufgabe würde ich zwei Schleifen schachteln, aber das mach mal schön selber...
MFG


----------



## java-_n00b (13. Apr 2007)

okay, was zählt denn alles genau zu der mainmethode? 



```
public class Sternchen
```
das sicher auf jedenfall! das gibt den namen der Klasse an, richtig?

und dann müsste


```
public static void
```
..irgendwas kommen. was das jedoch genau ist, weiß ich leider nicht.


Und was bedeutet [nebenbei] das 

```
(String[] args)
```

Ich bedanke mich schonmal recht herzlich hier doch positiv aufgenommen zu werden


----------



## Jango (13. Apr 2007)

http://www.galileocomputing.de/openbook/javainsel6/


----------



## L-ectron-X (13. Apr 2007)

Die main()-Methode sieht *immer* so aus:

```
public static void main(String[] args) {
   //Inhalt der Methode
}
```

String[] args bezeichnet eine Referenz auf ein Array aus String-Objekten mit dem Namen args.
In der Praxis wird das genutzt, um einem Java-Programm beim Start Parameter zu übergeben.


----------



## java-_ (13. Apr 2007)

okay, die nimmt man am besten einfach mal so hin! wie ihr seht, haben wir aus eurer Sicht nicht sonderlich schwierige Aufgaben durchgeführt, vondaher nehm ich die Methode so hin.
Müsste ich jetzt also



```
public static void main(String[] args) {
   for (int i = 0; i < args[0]; ++i)
System.out.print("*") 
}
```

machen?


----------



## Marcel_Handball (13. Apr 2007)

statt args[0], args.length

Edit: sry, stimmt nicht (hab mich vertan)

Für die a stimmt das, wenn du nun die b) lösen möchtest brauchst du zwei verschachtelte Schleifen:

```
public static void main(String[] args) {
   for (int i = 0; i < args[0]; ++i)
    for(int a=0; a<i; a++){
     System.out.print("*");
    }
}
```


----------



## java-_ (13. Apr 2007)

okay gut, dann kopieri chs mir mal schnell in Netbeans rein..
Wir schreiben Dienstag die Klausur über JAva, aktueller Stand ist der,  wie er auf dem Aufgabenblatt zulesen ist. Wir dürfen für den praktischen Teil sogar das WWW zu Hilfe nehmen..
In der Schule verwenden wir Joe. 
Versuche jetzt  mal mein Glück mit der 2 alleine 
Danke an Marcel

edit//


```
3 errors
BUILD FAILED (total time: 0 seconds)
```

edit/2/
so nurnoch 2 fehler da ich hinter System.out.print("*") kein " ; " hatte..

edit/3/
schon wieder ein ; vergessen gehabt


edit/4/


```
public class TestSterneA {
    
    public static void main (String[] args){
        for (int i=0; i < args[0]; ++i )
        for(int a=0; a<i; a++){
            System.out.print("*");
            }
    }
```

so habe ich 1 Error nurnoch. Bie der letzten Klammer steht, dass er eine " } expected " also mach ich diese hin, jeodch hab ich dann plötzlich iweder 2 Errors. 

 :?:


edit/5/

okay, hatte die Class falsch benannt

edit/6/

```
for (int i=0; i < args[0]; ++i)
```

Hier muss irgendwas falsch dran sein, nur was?


----------



## NTB (13. Apr 2007)

sind alle notwendigen klammern da?


----------



## Jango (13. Apr 2007)

@ java- : Wann fängst du eigentlich mal an, selber zu denken? Dir die absoluten Grundlagen hier beizubringen, würde den Rahmen des Möglichen sprengen - und ist auch nicht das Ziel eines Forums.


----------



## anfänger15 (13. Apr 2007)

Hab das ganze nur mal überflogen denke so müste B aussehen jetzt braust ja nur noch jemand der dir C hinschreibt.


```
public class TestSterneB {
   
    public static void main (String[] args){
        for (int i=0; i < Integer.parseInt(args[0]); ++i ){
          System.out.println("");	
        for(int a=0; a<i; a++){
            System.out.print("*");
          
            }
}
    } 
}
```


----------



## java-_ (13. Apr 2007)

@ jango
prinzipiell hast du mit deiner ausage recht! Jedoch ist unser Lehrer ein Taugenichts und er kann weder erklären noch selber eine Fehleranalyse machen. Wie der Java-Code umgewandelt wird habe ich verstanden, jedoch was soll ich mit Informationen wie "am Ende einer Programmzeile muss ein Semikolon stehen (Ausnahme: geschweifter *{}* und runde Klammern *() *)
Woher soll ich die Bedeutung von "int" erlernen wenn mir die keiner direkt erklärt? Ich muss es halt leider hier aufarbeiten und dachte, dass es das beste ist, wenn ich ein wenig Code vorgegeben habe und mir daraus versuche mir etwas beizubringen..Deshalb oben auch meine vielden Edits weil ich es Stück für Stück durchgegangen bin auf der suche nach dem Fehler :|
Hoffe, ihr helft mir vielleicht doch ein bisschen



B2T:
Was sagt mir das: Wurde mir von NetBeans angezeigt:


```
operator < cannot be applied to int,java.lang.String
```

Gruß


----------



## anfänger15 (13. Apr 2007)

```
public class TestSterneB {
   
    public static void main (String[] args){
        for (int i=0; i <= Integer.parseInt(args[0]); ++i ){
        
        for(int a=0; a<i; a++){
            System.out.print("*");
         
            }  
            System.out.println("");   
}
    }
}
```


Der obige Code wurde etwas verbessert.


bei mir geht es zu compilieren und zum ausführen.

zum ausführen einfach ( unter Windoof) die eingabeaufforderung öffnen, mit cd in das verzeichniss wechseln wo du die class datei gespeichert hast und dann enter. Dann noch java TestSterneB 5 in die Eingabeaufforderung schreiben und nochmal enter.

Die Zahl 5 gibt die anzahl der Sternenlinien an.


Ich hatte um java zu lernen gar keinen lehrer habe mir bis jetzt alles selbts beigebracht und man lernt nie aus

[edit]
die Fehlermeldung sagt das man mit dem operator < nicht einen int wert und einen java.lang.String vergleichen kann.

dafür hab ich das in das Programm eingebaut:
Integer.parseInt(args[0])

dadurch wird der String args[0] in einen int wert umgewandelt. Jetzt kann man mit < vergleichen, denn int und int kann verglichen werden.


----------



## Leroy42 (14. Apr 2007)

java-_ hat gesagt.:
			
		

> Woher soll ich die Bedeutung von "int" erlernen wenn mir die keiner direkt erklärt? Ich muss es halt leider hier aufarbeiten





			
				java-_ hat gesagt.:
			
		

> Wir dürfen für den praktischen Teil sogar das WWW zu Hilfe nehmen..



Na, dann mach das doch und verfolge Jango's Hinweis:
Java-Insel


----------



## Jango (14. Apr 2007)

Leroy42 hat gesagt.:
			
		

> Na, dann mach das doch und verfolge Jango's Hinweis:



Warum? Findet sich doch immer einer, der es macht.  :autsch:


----------



## anfänger15 (14. Apr 2007)

Mir war gestern so langweilig da dachte ich ich tue mal was gutes


----------



## java-_ (14. Apr 2007)

Jango hat gesagt.:
			
		

> Leroy42 hat gesagt.:
> 
> 
> 
> ...


----------



## Verjigorm (14. Apr 2007)

lass es dir dochmal ausgeben

```
int i = 5;
    System.out.println(i++);
    i=5;
    System.out.println(++i);
```

vielleicht kommste selbst drauf ^^


----------

