Array Elemente auslesen

Status
Nicht offen für weitere Antworten.
Hi,

an dieser Lösung bin ich ein wenig stecken geblieben.

Und zwar habe ich:

a={1,2,3,1,2,3,4,5}

und möchte alle Elemente auslesen und dann

b={1,2,3,4,5}

Mit forSchleifen läuft das ja nicht da ich keine vernünftige bedingung für b hinkriege? oder doch?
 

0x7F800000

Top Contributor
wie bereits anderswo mehrfach erwähnt: hier sind weder arrays noch schleifen angebracht, da kriegst du immer irgendeinen hässlichen O(n²) aufwand...
=> Statt Arrays & Iteration sind hier Bäume & rekursion viel schöner.

Aber zur Übung kannst du es auch mit arrays versuchen. Mach das in 2 schritten:
1) doppelte einträge löschen (alles n² mal durchgehen, alle unnötigen einträge markieren, zum schluss in einem neuen array einsammeln, ausgeben)
2) sortieren. Da sind der phantasie keine grenzen gesetzt.
 
ja sortieren weiß ich wie das geht.

wenn ich aber einträge lösche (wie geht das überhaupt?) verringert sich die länge auch automatisch?
 

0x7F800000

Top Contributor
neee, wenn du was löschen willst, dann nimm einfach normale collections...

Bei arrays musst du dich manuell mit der markierung der doppelten elemente (etwa in einem separaten boolean-array) rumschlagen, und später alle unmarkierten elemente in ein neues array rüberkopieren.
 
hmmmm

irgendwie

also angenommen ich will zwei arrays auf ihre elemente vergleichen. habe ich schon mal in einem anderen thread geschrieben.

aber so einfach ist die lösung nun doch nicht

also a soll mit b verglichen werden

a={1,2,2,2,2,1,3,4,5}

b={2,1,2,3,4,5}

vergleichmethode soll dann k = true liefern

wei stelle ich dass an mit einem einfachen algorithmus?

ich kann ja den größten wert berechnen

mit

[HIGHLIGHT="Java"]int gW;
gW=a[0];
for (int i=0;i<a.length;i++){
if (a>gW{
gW=a}
}

b[0]=gw[/HIGHLIGHT]

wie kann ich denn so eine schlife bauen, die dann den zweit größten und so witer errechnet? oder ist hier eine rekursion lösung möglich?

dann könnte ich einfach jeweils die werte vergleichen, also den größten wert von a mit dem von b , dann den zweitgrößten und so weiter... finde aber keine vernünftige schliefe für

tipp?
 
Zuletzt bearbeitet von einem Moderator:
G

Gelöschtes Mitglied 5909

Gast
[highlight="Java"]import java.util.Arrays;

public class Foo {

public static void main( String[] args ) {
int[] a = { 1, 2, 3, 1, 2, 3, 4, 5 };
Arrays.sort(a);
int size = a.length;
// neue Arraygröße ermitteln
for (int i = 0; i < a.length - 1; i++) {
if (a == a[i+1]) {
size--;
}
}
// neues Array anlegen
int b[] = new int[size];
int j = 0;
// Elemente kopieren
for (int i = 0; i < a.length - 1; i++) {
if (a == a[i+1]) {
continue;
}
b[j] = a;
j++;
}
// letztes Element berücksichtigen
if (a[a.length - 1] != a[a.length - 2]) {
b[b.length - 1] = a[a.length - 1];
}
for ( int i : b ) {
System.out.println(i);
}
}

}[/highlight]


oder

[highlight="Java"]import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;

public class Foo {

public static void main( String[] args ) {
int[] a = { 1, 2, 3, 1, 2, 3, 4, 5 };
Arrays.sort(a);
List<Integer> list = new ArrayList<Integer>();
for ( int i : a ) {
list.add(i);
}
Object[] array = new HashSet<Integer>(list).toArray();
int[] b = new int[array.length];
for ( int i = 0; i < array.length; i++) {
b = (Integer) array;
}
for ( int i : b ) {
System.out.println(i);
}
}

}[/highlight]
 
Zuletzt bearbeitet von einem Moderator:
G

Gelöschtes Mitglied 5909

Gast
Die Schleifenbedingung ist " i < a.length - 1" also bis zum vorletzten Element. warum? weil es sonst eine ArrayIndexOutOfBoundsException gibt, da innerhalb der schleife a[i+1] verwendet wird. Man könnte nun entweder in der schleife jedesmal den index prüfen unsw oder man kopiert eben das letzte element wenn es denn anders ist (finde ich einfacher)

Edit: continue braucht man damit der untere Teil nicht ausgeführt wird.

Besser wäre warscheinlich

[highlight="Java"] for ( int i = 0; i < a.length - 1; i++ ) {
if ( a != a[i + 1] ) {
b[j] = a;
j++;
}
}[/highlight]

also die prüfung auf ungleich und nicht auf gleich
 
Zuletzt bearbeitet von einem Moderator:
G

Gelöschtes Mitglied 5909

Gast
Habe noch einen kleinen Fehler entdeckt, wenn das array mit zwei gleichen Zahlen endet wurde das letzte Element nicht berücksichtigt.

[highlight="Java"]import java.util.Arrays;

public class Foo {

public static void main( String[] args ) {
int[] a = { 1, 2, 3, 1, 2, 3, 4, 5, 5, 5 };
Arrays.sort(a);
int aL = a.length;
int size = aL;
// neue Arraygröße ermitteln
for ( int i = 0; i < aL - 1; i++ ) {
if ( a == a[i + 1] ) {
size--;
}
}
// neues Array anlegen
int b[] = new int[size];
int j = 0;
// Elemente kopieren
for ( int i = 0; i < aL - 1; i++ ) {
if ( a != a[i + 1] ) {
b[j] = a;
j++;
}
}
int bL = b.length;
if ( a[aL - 1] != a[aL - 2]
|| b[bL - 1] != a[aL - 1] ) {
b[bL - 1] = a[aL - 1];
}
for ( int i : b ) {
System.out.println(i);
}
}

}[/highlight]
 
ja super danke!!!

was habe ich denn hier für mist gebaut???

geht darum dass ich die anzahl der größten elemente ermitteln will

[HIGHLIGHT="Java"]public class CountMax {
public static void main (String[] args){
static int maxCount(int[] a){
int[] a={1,2,4,12,4,5,12,12,3};
int gW,size,mw;
gw = a[0];
for (i=0; i<a.length;i++){
if gW<a {
gW=a;
}
}
for (i=0;i<a.length;i++){
if gW=a{
size++;
}
}
System.out.prinln("Die größte Zahl"+gW+"kommt"+size+"mal vor.");
}
}
}[/HIGHLIGHT]

darf wahrschienlich die methoden nicht verschacteln???
 
Zuletzt bearbeitet von einem Moderator:
ok muss wahrscheinlich so aussehen:

public class CountMax {
static int maxCount(int[] a){
int[] b ={1,2,4,12,4,5,12,12,3};
int gW,size,mw;
size=0;
gW = b[0];
for (int i=0; i<b.length;i++){
if (gW<b) {
gW=b;
}
}
for (int i=0;i<b.length;i++){
if (gW==b){
size++;
}
}
System.out.println("Die größte Zahl"+gW+"kommt"+size+"mal vor.");
}
}

class CountMaxTest {
public static void main (String[] args){
CountMax.maxCount();
}

wieso kriege ich aber beim compilieren den Fehler
CountMax.java missing return statement...
 
Zuletzt bearbeitet:

Ebenius

Top Contributor
Bitte in Zukunft selbständig den Sourcecode formatieren und highlight benutzen. Der Editor bietet das Highlight als Knopf an. Tippen kann man das so:
[noparse][HIGHLIGHT="Java"]// Java-Quelltext hier...[/HIGHLIGHT][/noparse]​
Sieht dann so aus: [HIGHLIGHT="Java"]// Java-Quelltext hier...[/HIGHLIGHT]

Ebenius
 
ok werde ich beachten danke!

ok, so die eigentlich klasse sieht nun so aus und das akzeptiert auch der compiler

Code:
public class CountMax {
public static void maxCount(int[] a){
int[] b ={1,2,4,12,4,5,12,12,3};
int gW,size,mw;
size=0;
gW = b[0];
for (int i=0; i<b.length;i++){
if (gW<b[i]) {
gW=b[i];
}
}
for (int i=0;i<b.length;i++){
if (gW==b[i]){
size++;
}
}
System.out.println("Die größte Zahl"+gW+"kommt"+size+"mal vor.");
}
}

Beim aufrufen der Methode kriege ich jedoch den Fehler, maxcount in countMax cannot be applied... Wieso???

Code:
class CountMaxTest {
public static void main (String [] args) {
CountMax.maxCount();
}
}

wieso???
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Elemente in einem Array Java Basics - Anfänger-Themen 5
D Array Elemente sortieren in aufsteigender Reihenfolge Java Basics - Anfänger-Themen 10
H Array Elemente Java Basics - Anfänger-Themen 17
T Elemente aus Array zu TableView JavaFX übertragen Java Basics - Anfänger-Themen 2
J Array Elemente werden nicht gefunden! Java Basics - Anfänger-Themen 6
J Array; Elemente kopieren Java Basics - Anfänger-Themen 17
V Array aus Klasse um vererbte Elemente erweitern Java Basics - Anfänger-Themen 3
A Array Elemente extrahieren ! Java Basics - Anfänger-Themen 4
J Elemente in einem 2D-Array summieren Java Basics - Anfänger-Themen 6
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
L Anzahl der Elemente key in einem Array mit log(N) Laufzeit Java Basics - Anfänger-Themen 4
L Array Elemente verschieben Java Basics - Anfänger-Themen 5
J Elemente in Array speichern, löschen, ... Java Basics - Anfänger-Themen 3
arjoopy Kapselung Elemente aus Objekt-Array ausgeben Java Basics - Anfänger-Themen 8
K Anzahl gleicher Elemente in Array Java Basics - Anfänger-Themen 32
V Elemente aus einem Array mit null überschreiben Java Basics - Anfänger-Themen 4
C Array Elemente Paarweise vertauschen Java Basics - Anfänger-Themen 2
kilopack15 Array auf doppelte Elemente überprüfen Java Basics - Anfänger-Themen 16
R Variablen [GELÖST]Elemente in Array um Schrittweite s verschieben Java Basics - Anfänger-Themen 2
A Eindeutige Elemente aus Array extrahieren Java Basics - Anfänger-Themen 9
B Zweidimensionales Array Elemente jeder Spalte zählen Java Basics - Anfänger-Themen 9
L Rückwärtsausgabe der Array-Elemente Java Basics - Anfänger-Themen 5
1 Minimum aller Elemente in einem Array bestimmen Java Basics - Anfänger-Themen 10
T Elemente im Array umdrehen Java Basics - Anfänger-Themen 9
L Elemente zufällig in ein Array verteilen Java Basics - Anfänger-Themen 12
T Wieviel Array-Elemente Java Basics - Anfänger-Themen 19
W Elemente in einem Array nach 'oben' verschieben Java Basics - Anfänger-Themen 9
A Elemente in array umkehren Java Basics - Anfänger-Themen 32
H Alle Array-Elemente auf einmal überprüfen? Java Basics - Anfänger-Themen 10
R return Anweisungen und Array Elemente löschen Java Basics - Anfänger-Themen 6
B Ausgeben einzelner String Array Elemente funktioniert nicht Java Basics - Anfänger-Themen 4
K Elemente eines Array verschieben Java Basics - Anfänger-Themen 18
C Array - Elemente umordnen ? Java Basics - Anfänger-Themen 20
B zwei zufällige elemente aus array lesen und überprüfen Java Basics - Anfänger-Themen 8
T Elemente aus zweidimensionalen Array löschen Java Basics - Anfänger-Themen 6
D Elemente im Array verschieben Java Basics - Anfänger-Themen 15
M XML-Elemente in Array speichern Java Basics - Anfänger-Themen 26
T Überprüfen, ob Array Elemente hat Java Basics - Anfänger-Themen 22
G Rekursiv Array Elemente quadrieren Java Basics - Anfänger-Themen 2
D String array im konstruktor --> wie gibt man elemente an? Java Basics - Anfänger-Themen 2
0 Element aus Array löschen andere Elemente verschieben? Java Basics - Anfänger-Themen 7
V Elemente an Array anhängen Java Basics - Anfänger-Themen 5
S Elemente aus Array entfernen Java Basics - Anfänger-Themen 8
M Array Elemente löschen Java Basics - Anfänger-Themen 6
G Elemente in einem String-Array in einen String umwandeln Java Basics - Anfänger-Themen 2
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
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
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben