2d array ausgeben

Joptionpane

Aktives Mitglied
Morgen,

will das 1x1 ausgeben lassen mittels 2d array.
Jedoch krieg ich immer eine komische Ausgabe und ich komm nicht auf den Fehler.

Ausgabe soll so aussehen:
Java:
/* erwartetes Ausgabe des Programms:
     0     0     0     0     0     0
     0     1     2     3     4     5
     0     2     4     6     8    10
     0     3     6     9    12    15
     0     4     8    12    16    20
     0     5    10    15    20    25
0 kommt in der Tabelle 11 mal vor
6 kommt in der Tabelle 2 mal vor
333 kommt in der Tabelle 0 mal vor
*/


Ausgabe ist aber:(Ab Zeile 5 Stimmt das Ergebnis perfekt, aber die 4 Zeilen davor müssen weg).
Java:
/*	0	0	0	0
	0	1	2	3
	0	2	4	6
	0	3	6	9
	0	0	0	0	0	0
	0	1	2	3	4	5
	0	2	4	6	8	10
	0	3	6	9	12	15
	0	4	8	12	16	20
	0	5	10	15	20	25
0 kommt in der Tabelle 11 mal vor
6 kommt in der Tabelle 2 mal vor
333 kommt in der Tabelle 0 mal vor*/


wie entsteht dieses

Java:
0	0	0	0
1	2	3
2	4	6
3	6	9

und wie krieg ich es weg??

Java:
public static int häufigkeit(int wert, int[][] daten) {
		int x = 0;
		
		
		for (int i =0; i< daten.length; i++){
			for (int j =0;j< daten.length; j++){
				if (wert == daten[i][j]){
				x++;	
				}
			}
		}
		
		return x;
	}
	
	public static void ausgeben(int[][] daten) {
		int i,j;
		 for (i = 0; i < daten.length; i++) {
	           for (j = 0; j < daten.length; j++)
	        	
	        	   System.out.print("\t" + daten[i][j]);
	           
	          System.out.println( "");
		}
	}	
		 
	

	public static int[][] multiplikationstabelle(int n) {

		int[][] daten = new int[n+1][n+1];

		for (int i =1; i < daten.length; i++) {
			for (int j = 1; j < daten.length; j++) {

				daten[i][j] = i * j;

			}

		}
		return daten;
	}
 
Zuletzt bearbeitet:
I

irgendjemand

Gast
sorry ... auch wenn das jetzt etwas krass klingen mag und von denen die hier entscheidungsgewallt besitzen sicher nicht gern gesehen wird ...

ABER

ist google bei dir irgendwie gesperrt ... oder warum musst du wirklich bei jedem kleinen problem hier einen neuen thread auf machen ?

was ich bisher von deinen threads gelesen habe so hätten sich diese alle bestimmt sogar nur mit der SuFu hier in diesem board lösen lassen können ...
dafür hätte es noch nicht mal ne weltweite suche durch google gebraucht ...

zum problem selbst

auch wenn ich deinen code grausam finde *google mal bitte nach "java conventions" ... oder geht das auch nicht ?* kann ich jetzt so auf die schnelle keinen fehler sehen da der fehler vermutlich außerhalb der 3 geposteten methoden auftritt ...

kompletter source wäre hier sicher etwas hilfreicher ...

ansonsten ist deine "ausgabe" soweit korrekt
 

Joptionpane

Aktives Mitglied
sorry ... auch wenn das jetzt etwas krass klingen mag und von denen die hier entscheidungsgewallt besitzen sicher nicht gern gesehen wird ...

ABER

ist google bei dir irgendwie gesperrt ... oder warum musst du wirklich bei jedem kleinen problem hier einen neuen thread auf machen ?

was ich bisher von deinen threads gelesen habe so hätten sich diese alle bestimmt sogar nur mit der SuFu hier in diesem board lösen lassen können ...
dafür hätte es noch nicht mal ne weltweite suche durch google gebraucht ...

zum problem selbst

auch wenn ich deinen code grausam finde *google mal bitte nach "java conventions" ... oder geht das auch nicht ?* kann ich jetzt so auf die schnelle keinen fehler sehen da der fehler vermutlich außerhalb der 3 geposteten methoden auftritt ...

kompletter source wäre hier sicher etwas hilfreicher ...

ansonsten ist deine "ausgabe" soweit korrekt

habe ca. 10 Einträge über google gesucht, gab nur 1-2 Themen, die meinem ähnelten (wahrscheinlich waren meine Suchbegriffe nicht ganz zutreffend), nichts desto trotz bin ich nunmal ein Student im Anfangsstadium und lerne generell nachts, wodruch Hilfestellung von Kommilitonen vorerst wegfällt, da ich die Lösung gerne sofort hätte bzw Hilfe.
Außerdem ist dieser Bereich ja für Java Anfänger zugeschnitten, wodurch ich hier gerne Hilfe annehme.


Und eben hat ich mir den Code weiter unten angeschaut und tatsächlich lag es daran, dass der Dozent doch noch eine Ausgabe ausgeben(multiplikationstabelle(3)); miteingebaut hat, sie aber beim Vermerk nicht angegeben hat. Hatte mir seinen Code nicht angeschaut gehabt :autsch:


Und wieso ist der Code grausam? Habe doch nur 3x ne verschachtelte for-schleife benutzt (in 3 Methoden). ???:L
 
I

irgendjemand

Gast
Und wieso ist der Code grausam? Habe doch nur 3x ne verschachtelte for-schleife benutzt (in 3 Methoden). ???:L

naja das nicht mal ...
weil wenns um multi-dimensionale arrays geht hat man keine andere möglichkeit als entweder verschachtelte loops *iterativ* oder das ganze rekursiv zu bauen ... soweit passt das ja ..

aber

auch wenn java unicode beherrscht solltest du *wie auch bei so ziemlich allem was mit IT zu tun hat* vermeiden umlaute und sonderzeichen zu verwenden ...
java selbst hat damit keine probleme ...
die treten erst auf wenn du das ganze mal unter ner anderen plattform mit anderem charset und so weiter machen willst ...
es kann dann sein das aus deinem "ä" irgendwas 2-byte mäßiges wird wodurch sich dein nicht mehr compilen lässt ...
da fast alles was mit programmieren zu tun hat eh in englisch gehalten ist und daher gerade lokale sonderzeichen oder gar andere sprachen ignoriert werden sollte man sich beim programmieren zumindest am zeichenvorat der englischen sprachen halten ... also aus "ä" lieber "ae" machen ... das ist wenigstens charset-unabhänig da bereits im ASCII definiert

auch solltest du dich mal entscheide wie du variablen deklarierst ...

entweder wie in "häufigkeit" dierekt im kopf oder wie in "ausgeben" explizit ... aber innerhalb eines source-files alles bund mischen verschlechtert nur die lesbarkeit ...

auch ist die bezeichnung deiner methoden *gerade die letzte* nicht so super ... das wäre *nach OOP* eher ein fall für einen klassennamen und eine eigene klasse ... aber weder für eine methode noch als bezeichner eines (primitiven-)objektes ...

was das problem mit dem source deines dozenten angeht : hättest du gleich den kompletten source gepostet wäre es mir / wem anderst bestimmt aufgefallen das die ausgabe 2 mal erfolgt ...
 

njans

Top Contributor
Java:
public class MathTable
{
	private int[][] table;
	
	
	public MathTable(int n)
	{
		table = calculateTableFromValue(n);
	}
	
	
	private int[][] calculateTableFromValue(int value)
	{
		int[][] newTable = new int[value+1][value+1];
		
		for (int i = 0; i < value+1; i++)
		{
			for (int j = 0; j < value+1; j++)
			{
				newTable[i][j] = i*j;
			}
		}
		return newTable;
	}
	
	
    public void printResults() 
    {
         for (int i = 0; i < table.length; i++) 
         {
               for (int j = 0; j < table.length; j++)
               {
            	   System.out.print("\t" + table[i][j]);
               }
               System.out.println();
        }
    } 
    
    
    public static void main(String[] args)
	{
		new MathTable(5).printResults();
	}
	
}

Hmm also bei mir geht es ohne Probleme :)
 
Zuletzt bearbeitet:

Joptionpane

Aktives Mitglied
naja das nicht mal ...
weil wenns um multi-dimensionale arrays geht hat man keine andere möglichkeit als entweder verschachtelte loops *iterativ* oder das ganze rekursiv zu bauen ... soweit passt das ja ..

aber

auch wenn java unicode beherrscht solltest du *wie auch bei so ziemlich allem was mit IT zu tun hat* vermeiden umlaute und sonderzeichen zu verwenden ...
java selbst hat damit keine probleme ...
die treten erst auf wenn du das ganze mal unter ner anderen plattform mit anderem charset und so weiter machen willst ...
es kann dann sein das aus deinem "ä" irgendwas 2-byte mäßiges wird wodurch sich dein nicht mehr compilen lässt ...
da fast alles was mit programmieren zu tun hat eh in englisch gehalten ist und daher gerade lokale sonderzeichen oder gar andere sprachen ignoriert werden sollte man sich beim programmieren zumindest am zeichenvorat der englischen sprachen halten ... also aus "ä" lieber "ae" machen ... das ist wenigstens charset-unabhänig da bereits im ASCII definiert

auch solltest du dich mal entscheide wie du variablen deklarierst ...

entweder wie in "häufigkeit" dierekt im kopf oder wie in "ausgeben" explizit ... aber innerhalb eines source-files alles bund mischen verschlechtert nur die lesbarkeit ...

auch ist die bezeichnung deiner methoden *gerade die letzte* nicht so super ... das wäre *nach OOP* eher ein fall für einen klassennamen und eine eigene klasse ... aber weder für eine methode noch als bezeichner eines (primitiven-)objektes ...

was das problem mit dem source deines dozenten angeht : hättest du gleich den kompletten source gepostet wäre es mir / wem anderst bestimmt aufgefallen das die ausgabe 2 mal erfolgt ...

Guten Abend schonmal und danke für deine Tipps,

aber, wie schonmal gesagt, die Methodennamen

public static int[][] multiplikationstabelle(int n)
public static void ausgeben(int[][] daten)

etc.. sind bereits vom Dozenten vordefiniert, er stellt uns generell immer eine Klasse Online, die er im Prinzip fertig vor sich hat. Er löscht 2-5 Methoden (je nach schwierigkeit der Aufgabe) und setzt leere Methoden in die Aufgabe die wir dann befüllen sollen. Die Namen sind also längst vergeben vom Dozenten, ich ändere da garnix.
Eine eigene Klasse sollten wir zu dieser Aufgabenstellung nicht benutzten. Manche Dozenten wollen uns nunmal einfach erst die Grundlagen beibringen, dass wir wissen wie das alles zusammenhängt.

Und wie gesagt, tut mir leid das ich den gesamten Code nicht reingestellt hab, dachte es liegt nur an meinem Code :oops:
 

njans

Top Contributor
Java:
    public static int[][] multiplikationstabelle(int n) 
    {
        int[][] newTable = new int[n+1][n+1];
        
        for (int i = 0; i < n+1; i++)
        {
            for (int j = 0; j < n+1; j++)
            {
                newTable[i][j] = i*j;
            }
        }
        return newTable;
    }
    
    
    public static void ausgeben(int[][] daten)
    {
         for (int i = 0; i < daten.length; i++) 
         {
               for (int j = 0; j < daten.length; j++)
               {
                   System.out.print("\t" + daten[i][j]);
               }
               System.out.println();
        }
    }

Dann passt man eben die Signatur an und nennt die Variable um, fertig!
Das dein Prof da ganz komische Namen hat und das ganze wenig mit OOP zu tun hat, ist wohl klar.
Aber na gut, muss man eben mit leben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
LilliCherry Array in einer Zeile ausgeben Java Basics - Anfänger-Themen 6
W Array ausgeben Java Basics - Anfänger-Themen 29
I 2D-Array Position der Liste ausgeben. Java Basics - Anfänger-Themen 2
M Array rückwärts ausgeben Java Basics - Anfänger-Themen 2
S Array über ein Ausgabemethode in main ausgeben Java Basics - Anfänger-Themen 31
S Primzahlen in Array ausgeben Java Basics - Anfänger-Themen 14
C Matrix mit Array ausgeben Java Basics - Anfänger-Themen 6
A Array einlesen und ausgeben Java Basics - Anfänger-Themen 13
S Wort einlesen Array ausgeben Java Basics - Anfänger-Themen 4
H Eingegebene Zahlen mit Array ausgeben Java Basics - Anfänger-Themen 18
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
K Array alle Werte aufsummieren und ausgeben Java Basics - Anfänger-Themen 6
S Nutzereingabe splitten und in string array wieder ausgeben. Java Basics - Anfänger-Themen 1
Curtis_MC 2dimensionales Array als String ausgeben Java Basics - Anfänger-Themen 2
C Array Rückwärts ausgeben Java Basics - Anfänger-Themen 7
D Alle Möglichkeiten, n-Anzahl aus Elementen aus einem Array zu wählen, ausgeben? Java Basics - Anfänger-Themen 23
R Vom SQL Array ausgeben Java Basics - Anfänger-Themen 5
J Kapselung Array in Set ändern und in Main ausgeben lassen Java Basics - Anfänger-Themen 4
scratchy1 Array sortieren und dann String-Repräsentation ausgeben Java Basics - Anfänger-Themen 2
N den inhalt eines array per funktion ausgeben Java Basics - Anfänger-Themen 8
J int array als double array ausgeben Java Basics - Anfänger-Themen 9
X Array List geordnet ausgeben. (JSF und JAVA) Java Basics - Anfänger-Themen 1
J Probleme beim Array ausgeben Java Basics - Anfänger-Themen 4
M Methoden 2 D-Array Belegungsplan textuell ausgeben Java Basics - Anfänger-Themen 6
B mir nur die Gesamtzahl von einzigartigen Strings aus Array ausgeben lassen Java Basics - Anfänger-Themen 5
karlmasutra OOP Inhalt eines Array ausgeben lassen Java Basics - Anfänger-Themen 8
O Array nach gleichen Zahlen prüfen und ausgeben Java Basics - Anfänger-Themen 6
K Eingabe in Array speichern und Ausgeben Java Basics - Anfänger-Themen 9
nightsky_ Mehrdimensionales Array mit flatMap() ausgeben lassen Java Basics - Anfänger-Themen 6
D Array-Liste nur einmal ausgeben Java Basics - Anfänger-Themen 8
arjoopy Kapselung Elemente aus Objekt-Array ausgeben Java Basics - Anfänger-Themen 8
S 2D array ausgeben Java Basics - Anfänger-Themen 8
D Array ausgeben Java Basics - Anfänger-Themen 5
J Array in JLabel ausgeben Java Basics - Anfänger-Themen 2
D Array Werte einlesen und ausgeben? Java Basics - Anfänger-Themen 8
G Objekt array befüllen und ausgeben Java Basics - Anfänger-Themen 3
B Array - nicht komplett ausgeben Java Basics - Anfänger-Themen 8
K array in toString des objektes ausgeben Java Basics - Anfänger-Themen 1
D Array richtig ausgeben Java Basics - Anfänger-Themen 6
L Array vorwärts und rückwärts ausgeben Java Basics - Anfänger-Themen 3
stylegangsta Anzahl der gefunden array Werte ausgeben Java Basics - Anfänger-Themen 6
L Primzahlen im Array ausgeben Java Basics - Anfänger-Themen 3
D Alle möglichen Kombinationen in einem Array ausgeben Java Basics - Anfänger-Themen 2
D Erste Schritte array aufsteigend sortieren und ausgeben Java Basics - Anfänger-Themen 17
D Array Paare ausgeben Java Basics - Anfänger-Themen 9
F Methoden Kontaktliste - String in einem Array suchen und ausgeben Java Basics - Anfänger-Themen 3
V Array zahlen eingeben und ausgeben Java Basics - Anfänger-Themen 5
S BSort Array ausgeben lassen Java Basics - Anfänger-Themen 6
G Array dynamisch ausgeben Java Basics - Anfänger-Themen 3
J Array sortiert ausgeben Java Basics - Anfänger-Themen 9
W Array nach String durchsuchen und Ausgeben Java Basics - Anfänger-Themen 8
B Datentypen Array ausgeben Java Basics - Anfänger-Themen 4
D Array schön ausgeben Java Basics - Anfänger-Themen 12
D SetText als Array ausgeben Java Basics - Anfänger-Themen 1
D Bestimmten Wert aus Array List ausgeben Java Basics - Anfänger-Themen 7
J char-Array rückwärts ausgeben und in neues Char-Array speichern Java Basics - Anfänger-Themen 3
B Array erstellen,ausgeben,mit zufallszahlen füllen aber wie ? Java Basics - Anfänger-Themen 1
D Point-Array ausgeben Java Basics - Anfänger-Themen 2
K Eingaben in Array ausgeben Java Basics - Anfänger-Themen 3
C Array List mit String vergleichen und Fehlermeldung ausgeben Java Basics - Anfänger-Themen 6
C Array aus einer Methode zurückgeben und ausgeben Java Basics - Anfänger-Themen 1
P Ein Array mit der Eingaber der User füllen und ausgeben Java Basics - Anfänger-Themen 6
E Array Anzahl verschiedener Werte ausgeben Java Basics - Anfänger-Themen 3
S Array - index von Benutzer eingegebenen char ausgeben Java Basics - Anfänger-Themen 3
C Array - Werte speichern und ausgeben Java Basics - Anfänger-Themen 5
A Mehrdimensionalles Array in String ausgeben in Liste Java Basics - Anfänger-Themen 5
C Erste Schritte Array Werte Ausgeben Probleme mit variable Java Basics - Anfänger-Themen 21
A Methoden Array: ausgeben von einem Wörterbucheintrag Java Basics - Anfänger-Themen 4
D Array in for-Schleife ausgeben Java Basics - Anfänger-Themen 3
R Array: Mehrere Indizes für einen Wert ausgeben? Java Basics - Anfänger-Themen 4
D Erste Schritte Array in ListBox ausgeben Java Basics - Anfänger-Themen 9
L Array multiplizieren und ausgeben Java Basics - Anfänger-Themen 3
U OOP Array vom Typ String > Inhalt ausgeben Java Basics - Anfänger-Themen 8
J Compiler-Fehler Array rückwärts ausgeben Java Basics - Anfänger-Themen 3
M Array List ausgeben Java Basics - Anfänger-Themen 13
D Arrays zusammenfügen und in einem Array ausgeben Java Basics - Anfänger-Themen 3
C Datentypen int array in String ausgeben Java Basics - Anfänger-Themen 20
H Wie kann ich jedes zweite Array Wert ausgeben lassen?? Java Basics - Anfänger-Themen 6
O Array mit unterschiedlichen Datentypen ausgeben... Java Basics - Anfänger-Themen 16
R Array in Textarea ausgeben Java Basics - Anfänger-Themen 3
Binary.Coder Array über println ausgeben Java Basics - Anfänger-Themen 18
S Array sortieren und ausgeben Java Basics - Anfänger-Themen 3
T Zahlen in Array speichern und ausgeben Java Basics - Anfänger-Themen 14
P Array.sort // Arrays ausgeben Java Basics - Anfänger-Themen 21
S mehere Vorkommnisse im String-Array ausgeben Java Basics - Anfänger-Themen 2
P Array sortiert ausgeben Java Basics - Anfänger-Themen 25
J Zweidimensionales Array durch ToString ausgeben lassen Java Basics - Anfänger-Themen 21
X Array im Konstruktor wie ausgeben? Java Basics - Anfänger-Themen 2
D Array in Diagramm ausgeben Java Basics - Anfänger-Themen 7
R array werte ausgeben/zugreifen Java Basics - Anfänger-Themen 8
T OOP Objekte erzeugen und in einem Array ausgeben. Java Basics - Anfänger-Themen 2
N ein Array auf eine JTextArea ausgeben Java Basics - Anfänger-Themen 2
B Datentypen Werte in einen Array einlesen und danach die beiden höchsten Werte wieder ausgeben Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben