java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Java - Programmierung > Allgemeine Java-Themen

Allgemeine Java-Themen Allgemeine Themen, die nicht in andere Fachforen und nicht zu den Java Basics passen

Antwort    
Themen-Optionen Thema durchsuchen Ansicht
Alt 10.08.2011, 14:14   #1 (permalink)
Benutzer
int
 
Registriert seit: 08.12.2010
Fachbeiträge: 44
Abgegebene Danke: 4
Erhielt 0 Danke für 0 Beiträge
Standard Hilfe Felder

Hi,
ich bin dabei ein Programm zu erstellen, wo länge und breite eines gegenstandes gegeben sind.
das sieht bei mir so aus:
Java Code: Quelltext in neuem Fenster öffnen
1
2
int [] laenge = {18,22,7,6,14};
     int [] breite = {10,24,3,34,15};

Hierbei steht jeweils die erste zahl von beiden feldern für den ersten Gegenstand, die zweite zahl von beiden für den zweiten etc.
Folgendes soll ausgegeben werden:
Zitat:
Gegenstand Nr. 1 hat die Laenge 18 und Breite 10
Das will ich folgendermaßen machen:
Java Code: Quelltext in neuem Fenster öffnen
1
2
for(int i = 0; i <= laenge.length && i<= breite.length; i++){
 System.out.println(" Gegenstand Nr. " + (i+1) + " hat die Laenge  " + laenge[i] + " und Breite  " + breite[i] );

Das klappt auch soweit jedoch kommt dann immer nach der korrekten (!) Ausgabe eine Fehlermeldung wie: Exception in thread "main" java.lang etc....
woran liegt das?
PS. Ich mache das ganze mit Methoden da ich mehrere Menüpunkte habe ^^

Danke im Vorraus !
Karl Hermann ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 10.08.2011, 14:19   #2 (permalink)
Benutzer
int
 
Benutzerbild von Monaria
 
Registriert seit: 28.06.2011
Fachbeiträge: 56
Abgegebene Danke: 4
Erhielt 17 Danke für 16 Beiträge
Die Schleife läuft solange i kleiner oder gleich der Länge der Arrays ist.
Wenn jetzt aber z.B. ein Array die Länge 5 hat, dann wird die Schleife zuletzt mit de Wert 5 durchlaufen.
Bei laenge[5] befindet sich allerdings nichts.

So müsste es gehen:
Java Code: Quelltext in neuem Fenster öffnen
1
for(int i = 0; i < laenge.length && i< breite.length; i++)
Monaria ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Danke sagt:
Karl Hermann (10.08.2011)
Alt 10.08.2011, 14:20   #3 (permalink)
Stammbenutzer
Floppy Disc
 
Registriert seit: 01.12.2005
Fachbeiträge: 887
Abgegebene Danke: 9
Erhielt 10 Danke für 10 Beiträge
Vermutlich bekommst Du eine ArrayIndexOutOfBoundsException, richtig?
SamHotte ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 10.08.2011, 14:24   #4 (permalink)
Stammbenutzer
Viertel Gigabyte
 
Benutzerbild von Marcinek
 
Registriert seit: 12.07.2010
Fachbeiträge: 3.663
Abgegebene Danke: 151
Erhielt 431 Danke für 420 Beiträge
Hi,

einfach i < breite.length schreiben statt i<= breite.length

Gruß,

Martin
__________________
Wie man Fragen richtig stellt.

Bei jedem Thread kommt nach einer völlig absurden Fehlerbeschreibung ein "habs gelöst" mit einer teils noch absurderen Lösung.
(timbeau)
Marcinek ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Danke sagt:
Karl Hermann (10.08.2011)
Alt 10.08.2011, 14:26   #5 (permalink)
Stammbenutzer
Megabyte
 
Benutzerbild von Sonecc
 
Registriert seit: 25.09.2009
Fachbeiträge: 1.185
Abgegebene Danke: 96
Erhielt 171 Danke für 148 Beiträge
Zitat: Karl Hermann
Beitrag anzeigen
Das klappt auch soweit jedoch kommt dann immer nach der korrekten (!) Ausgabe eine Fehlermeldung wie: Exception in thread "main" java.lang etc....!
Schneid ruhig den Interessanten Teil der fehlermeldung ab. Wir raten dann schon um was es sich da handelt...

Stelle mir grade vor, wie du bei der Autowerkstatt stehst und sagst: "Am Armaturenbrett ging eine Lampe..." Der Mechaniker weiß danach natürlich sofort, dass deine Ölstandsanzeige anging...
__________________
Zitat:
Sometimes you begin to understand the problem when you finish its solution
Sonecc ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 10.08.2011, 14:27   #6 (permalink)
Benutzer
int
Themenstarter
 
Registriert seit: 08.12.2010
Fachbeiträge: 44
Abgegebene Danke: 4
Erhielt 0 Danke für 0 Beiträge
ok! Vielen Dank Leute !
Hat geklappt

Musste einfach nur das "=" weg!
Karl Hermann ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 10.08.2011, 19:36   #7 (permalink)
Benutzer
int
Themenstarter
 
Registriert seit: 08.12.2010
Fachbeiträge: 44
Abgegebene Danke: 4
Erhielt 0 Danke für 0 Beiträge
Hab nochmal eine andere Frage zu nem anderem Thema:
Wie kann ich ein Rechtek mit for schleifen zeichnen, wenn ich höhe und breite gegeben habe.
Wenn ich also höhe 3 gegeben habe und breite 5 soll so eine Ausgabe erscheinen:

*****
*****
*****
Karl Hermann ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 10.08.2011, 19:45   #8 (permalink)
Benutzer
int
 
Benutzerbild von Monaria
 
Registriert seit: 28.06.2011
Fachbeiträge: 56
Abgegebene Danke: 4
Erhielt 17 Danke für 16 Beiträge
Du musst 2 Schleifen verschachteln:
1.Die eine Schleife gibt so viele * aus, wie der Block breit ist, nach der Schleife gibt es einen Zeilenumbruch.
2.Die zweite Schleife sorgt dafür, dass die erste Schleife so oft wiederholt wird, wie der Block hoch ist.

Also ist die erste Schleife innen, die zweite außen um die erste gelegt.
Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
for(int h = 1; h <= 3; h++){
    for(int b = 1; b <= 5; b++){
        System.out.print('*');
    }
    System.out.println();
}
Monaria ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Danke sagt:
Karl Hermann (10.08.2011)
Antwort    

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kontext-sensitive Hilfe in RCP-Projekt implementieren eumel1990 Plattformprogrammierung 1 19.05.2011 16:01
Java Felder bearbeiten Hilfe C.Hermanos Java Basics - Anfänger-Themen 4 04.04.2011 08:10
n-dimensionale Felder in m-dimensionale Felder konvertiert bruce Java Basics - Anfänger-Themen 30 09.11.2010 12:15
Probleme mit der Hilfe dzim Plattformprogrammierung 1 28.07.2009 15:30
Hilfe bei einer GUI Programmierung mit Graph eric1980 Spiele- und Multimedia-Programmierung 30 31.01.2009 16:40


Lesezeichen

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:34 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de