Einzelne Werte von Array-Feld löschen

SugarRay

Mitglied
Hallo

Ich habe noch eine Frage:

Ich übergebe ein Int-Feld mit positiven und negativen Werten.

In der Funktion werden die negativen Werte gelöscht.

Das heisst, danach werden nur noch die poitiven Werte angezeigt.

Wenn zum Beispiel feld[2] negativ ist, was schreibe ich dann nach dem = in der Funktion hin? Wenn ich 0 schreiben würde, würde ja dann dafür in der Ausgabe eine 0 stehen. Oder muss ich = null ; schreiben ?

Danke
 

Fab1

Top Contributor
Nein, es reicht wenn du NUR den Index angibst.


Java:
import java.util.ArrayList;

public class Test {

	public static void main(String[] args) {

		ArrayList<Integer> a = new ArrayList<Integer>();  // Innerhalb der <> wird der Typ gesetzt, der erwartet wird, in diesem Fall Integer, kann auch eine Objekt oder ähnliches sein.
		
		for(int i = 0; i<10; i++){
			a.add(i);
		}
		a.remove(5); // Index 5 wird gelöscht
	}
}
 

SugarRay

Mitglied
Bitte nicht so kompliziert.


Ich habe das jetzt so geschrieben:

public static void main (String [] args)
{

int [] feld = new int [10];

feld[0] = 12;
feld[1] = -12;
feld[2] = -23;
feld[3] = 231;
feld[4] = -2;
feld[5] = 7;
feld[6] = 4;
feld[7] = 8;
feld[8] = -56;
feld[9] = 6;

for (int i = 0; i < 10; i++)
{
if (feld < 0) feld = null;
}

for (int i = 0; i < 10; i++)
{
System.out.print(" " + feld);
}



}

}
 

Fab1

Top Contributor
Hi,


im Forum gibt es die Java Tags, somit wäre dein Code leichter zu lesen für spätere Posts.

schau mal http://www.java-forum.org/java-basics-anfaenger-themen/111919-null-primitive-datentypen.html man kann einem Primitiven Datentyp kein null zuweisen.


Java:
public class Test {

	public static void main(String[] args) {

		int[] feld = new int[10];

		feld[0] = 12;
		feld[1] = -12;
		feld[2] = -23;
		feld[3] = 231;
		feld[4] = -2;
		feld[5] = 7;
		feld[6] = 4;
		feld[7] = 8;
		feld[8] = -56;
		feld[9] = 6;

	/*	for (int i = 0; i < 10; i++) {
			if (feld[i] < 0)
				feld[i] = null; // man kann primitiven Datentypen kein null zuweisen.
		}*/

		for (int i = 0; i < 10; i++) {
			if(feld[i]>0){
				System.out.print(" " + feld[i]);
			}
			        
		}

	}

}

hoffe das hilft dir weiter. Hab ja nicht viel geändert. Ich gebe allerdings nur die positiven Werte aus und lösche sie nicht. Weiß aber auch nicht genau was du damit anstellen willst, hört sich ja an wie eine Hausaufgabe.
 

SugarRay

Mitglied
Klausurvorbereitung.

In der Angabe steht nur, dass die negativen Werte entfernt werden sollen. Vielleicht ist mit entfernt nur gemeint, dass sie dann nicht mehr ausgegeben werden.

Trotzdem danke.
 

SugarRay

Mitglied
Hier ist die Aufgabenstellung:

Es ist die static-Methode (Funktion) "entferne" zu entwerfen.
An diese Methode wird ein int-Feld übergeben.
Im Feld stehen beliebige positive und negative Werte.
Der Wert 0 markiert den letzten Wert im Feld.
Die Funktion entfernt aus dem Feld alle negativen Werte, zählt
die entfernten Werte und gibt diese Anzahl als Rückgabewert
zurück. Um die negativen Werte zu entfernen, werden die Zahlen
hinter den negativen Werten innerhalb des Feldes "nach vorne"
umgespeichert.
Beispiel: Aus 2, -5, 22, -1, 234, 0
wird 2, 22, 234, 0
 

SugarRay

Mitglied
Ich habe es jetzt so. Ist vielleicht ein bisschen umständlich, aber ich kann es halt nicht besser. :D

Java:
public class Vorbereitung2
{
	public static void main (String [] args)
	{

	int [] feld = new int [10];

	feld[0] = 12;
	feld[1] = -12;
	feld[2] = -23;
	feld[3] = 231;
	feld[4] = -2;
	feld[5] = -4;
	feld[6] = 4;
	feld[7] = 8;
	feld[8] = 0;
	feld[9] = 6;

	int entferntewerte = entferne(feld);
	
	System.out.println();
	System.out.print("Entfernte Werte: " + entferntewerte);
	}

	
	public static int entferne (int [] b)
	{
	int negativewerte = 0;
	int bisnull = 0;
	
	for (int i = 0; i < b.length ; i++)
		{
		bisnull++;
		if (b[i] == 0) break;
		
		}
	
	
	
	for (int i = 0; i < bisnull; i++)
		{
		if (b[i] < 0) negativewerte++;
		}
	
	int zaehler = 0;
	
	do
	{
	zaehler = 0;
	
	for (int i = 0; i < (bisnull-1); i++)
		{
			if(b[i] < 0)
			{
				if(b[i+1] >= 0)
				{
				int a = b[i+1];
				b[i+1] = b[i];
				b[i] = a;
				zaehler++;
				}
			}
		}
		
	}while(zaehler != 0);
	
	for (int i = 0; i < bisnull; i++)
		{
		if(b[i] >= 0) System.out.print(b[i] + " ");
		}
	
	return negativewerte;
	
	}

}
 

Final_Striker

Top Contributor
Um die negativen Werte zu entfernen, werden die Zahlen
hinter den negativen Werten innerhalb des Feldes "nach vorne"
umgespeichert.
Beispiel: Aus 2, -5, 22, -1, 234, 0
wird 2, 22, 234, 0

steht doch da, sogar mit einem Beispiel.

Um die negativen Werte zu entfernen, werden die Zahlen
hinter den negativen Werten innerhalb des Feldes "nach vorne"
umgespeichert.
Beispiel: Aus 2, -5, 22, -1, 234, 0
wird 2, 22, 234, 0
 

faetzminator

Gesperrter Benutzer
Das geht doch auch einfacher:
Java:
public static int[] getPositiveNumbers(int[] input) {
    int[] temp = new int[input.length]; // temporäres Array erzeugen
    int tempSize = 0;
    for (int i = 0; i < input.length; i++) {
        if (input[i] >= 0) { // oder auch > 0
            temp[tempSize++] = input[i]; // schreib die Zahl in das leere Feld und erhöhe den Count
        }
    }
    // noch in ein neues Array kopieren
    int[] result = new int[tempSize];
    System.arraycopy(temp, 0, result, 0, tempSize);
    return result;
}
[c]System.arraycopy()[/c] kopiert hier von [c]temp[/c] ab Index 0 [c]tempSize[/c] Werte nach [c]result[/c] ab Index 0.
Wenn du also [c]{ -3, 1, 5, -7, 2 }[/c] übergibst, sieht [c]temp[/c] nach der Schleife so aus: [c]{ 1, 5, 2, 0, 0 }[/c] und [c]tempSize[/c] ist 3.
Danach wird noch das Array [c]result[/c] mit der Grösse 3 erstellt und die ersten drei Werte von [c]temp[/c] nach [c]result[/c] kopiert.
Aber wie von den Vorrednern schon gesagt, in der Praxis nutzt man normalerweise keine Arrays, sondern Collections, z.B. Lists.
 

njans

Top Contributor
Nach 2maligem Lesen ist es mir nun auch klar.
Du verschiebst die positiven Zahlen über die negativen. Hmm ob das so viel Sinn macht, naja. In nem Array würden dann immer noch Zahlen in den anderen Einträgen sein, wirklich gelöscht ist das dann nicht. Und von Kopieren in ein neues Array mit passender Kardinalität steht auch nichts.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Einzelne Werte aus einem Array vergleichen? Java Basics - Anfänger-Themen 8
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
C Auf einzelne Werte aus HashSet zugreifen Java Basics - Anfänger-Themen 10
C Einzelne Werte eines Arrays ausgeben Java Basics - Anfänger-Themen 2
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
E JTable einzelne Zelle färben Java Basics - Anfänger-Themen 2
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
B Inventar als einzelne Klassen anlegen? Java Basics - Anfänger-Themen 12
X Wie kann ich Zahlen in einzelne Zifferne zerlegen? Java Basics - Anfänger-Themen 3
O Einzelne Bits umwandeln und prüfen Java Basics - Anfänger-Themen 23
K Einzelne Email verschieben nicht möglich Java Basics - Anfänger-Themen 3
F Arrays Sätze speichern und einzelne Worte mit Index Angabe auslesen Java Basics - Anfänger-Themen 4
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
B lanterna einzelne Zeichen aus dem Terminal löschen Java Basics - Anfänger-Themen 0
C Matrixmultiplikation ohne einzelne Elemente aufzurufen Java Basics - Anfänger-Themen 2
T JTable einzelne Zeilen löschen Java Basics - Anfänger-Themen 3
A Variablen String Array in einzelne Strings auspalten Java Basics - Anfänger-Themen 4
J Methoden Einzelne Objekte eines Vectors addieren Java Basics - Anfänger-Themen 10
S Einzelne Buchstaben aus Jtextfield in array Java Basics - Anfänger-Themen 2
R Einzelne Zahlen von der Eingabe (Scan) weiterverarbeiten Java Basics - Anfänger-Themen 3
D Kleinere Positionsangabe als einzelne Pixel bei Image? Java Basics - Anfänger-Themen 28
H Input/Output JTextArea einzelne Zeile auslesen Java Basics - Anfänger-Themen 6
X String einzelne Buchstaben ersetzen Java Basics - Anfänger-Themen 4
M Einzelne Zeilen nach Zeichen auslesen Java Basics - Anfänger-Themen 4
T Erste Schritte einzelne Wörter aus textdatei lesen... Java Basics - Anfänger-Themen 4
M JTable einzelne Spalte rechtsbündig Java Basics - Anfänger-Themen 2
M JUnit - nur einzelne Methode testen? Java Basics - Anfänger-Themen 4
N TextZeile in einzelne Strings teilen, die mit Komma getrennt sind Java Basics - Anfänger-Themen 4
A einzelne Zeichen aus String auslesen Java Basics - Anfänger-Themen 3
J Von einem String einzelne Wörter speichern Java Basics - Anfänger-Themen 6
R einzelne Bits prüfen Java Basics - Anfänger-Themen 12
H String zerlegen in einzelne Buchstaben (char)?? Java Basics - Anfänger-Themen 7
A Einzelne TeilStrings einfärben Java Basics - Anfänger-Themen 3
S mehrere einzelne klassen in eine datei packen Java Basics - Anfänger-Themen 4
K Datentypen Liste: Einzelne Einträge ändern Java Basics - Anfänger-Themen 2
D Einzelne Ziffern aus einem String Java Basics - Anfänger-Themen 10
B Was für Aufgaben haben die einzelne Entwurfsmuster? Java Basics - Anfänger-Themen 9
B Laufzeitverschlechterung durch Auslagerung in einzelne Threads Java Basics - Anfänger-Themen 8
MrMilti einzelne Methoden einer Klasse auslagern Java Basics - Anfänger-Themen 6
T Einzelne Ziffer zusammenfügen (ohne Strings oder Arrays) Java Basics - Anfänger-Themen 2
M einzelne Pixel setzen/auslesen Java Basics - Anfänger-Themen 2
N aus HTML einzelne Inhalte (z.B. Tabelleninhalte) auslesen Java Basics - Anfänger-Themen 10
A Nur einzelne Methode einer anderen Klasse starten Java Basics - Anfänger-Themen 2
G Einzelne Datei im jar verändern ? Java Basics - Anfänger-Themen 5
B Einzelne Zellen in JTable markieren Java Basics - Anfänger-Themen 2
C String.split("") einzelne Positionen abfragen Java Basics - Anfänger-Themen 10
ven000m Primzahl.class wie starte ich diese einzelne Datei? Java Basics - Anfänger-Themen 10
R einzelne Zelle einer JTable bearbeiten Java Basics - Anfänger-Themen 2
M Object zu Int Problem, obwohl einzelne Objecte Int sind =( Java Basics - Anfänger-Themen 2
J String - einzelne Zeichen sortieren Java Basics - Anfänger-Themen 14
G Einzelne Zeilen beschreiben Java Basics - Anfänger-Themen 4
E einzelne Zeile mithilfe Steams aus Textdatei überschreiben Java Basics - Anfänger-Themen 23
F einzelne Buchstaben in JTextField ändern Java Basics - Anfänger-Themen 11
S setCellRenderer für EINZELNE Zelle Java Basics - Anfänger-Themen 9
S Zugriff auf einzelne Buchstaben eines String Java Basics - Anfänger-Themen 16
J Jtable - wie einzelne zelle markieren Java Basics - Anfänger-Themen 8
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
F 2x 16bit Werte zu einem 32bit und dann splitten mit 0xb Java Basics - Anfänger-Themen 1
ptcho Werte/Position nach dem Funktionsaufruf tauschen? Java Basics - Anfänger-Themen 1
K Warum sind Werte in den Feldern ? Java Basics - Anfänger-Themen 2
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
javaBoon86 Arrays 2 Dimension Werte ausgeben Java Basics - Anfänger-Themen 15
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
TeacherMrSSimon Schachspiel, Werte in Figur eintragen klappt nicht Java Basics - Anfänger-Themen 23
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
R Methoden Werte einer ArrayList als Parameter übergeben. Java Basics - Anfänger-Themen 4
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
Jambolo Methode, welche die 3 letzten Parameter Werte speichert Java Basics - Anfänger-Themen 20
Chris.089 2 Werte im Array tauschen Java Basics - Anfänger-Themen 6
docmas 2DArray Werte werden nur untereinander ausgegeben Java Basics - Anfänger-Themen 1
M Nur int-Werte erlauben Java Basics - Anfänger-Themen 11
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
M Wie kann eine Methode eine andere Methode um Werte wie z.B. 1 erhöhen? Java Basics - Anfänger-Themen 6
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
E Meine JCombobox werte an ohne selectiert zu haben Java Basics - Anfänger-Themen 6
H OOP Werte mit Set verändern Java Basics - Anfänger-Themen 6
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
H Welche Werte bei Objekterzeugung eingeben? Java Basics - Anfänger-Themen 2
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
sashady ursprüngliche Array-Werte bei erneutem Aufruf? Java Basics - Anfänger-Themen 7
cmn489 Werte beim Funktionsaufruf in ein Feld übertragen(falls dieses leer ist) Java Basics - Anfänger-Themen 1
E In Array Werte einfügen? Java Basics - Anfänger-Themen 5
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
L Methoden ArrayList Werte hinzufügen und löschen Java Basics - Anfänger-Themen 32
J Zufallszahlen generieren und Werte vergleichen Java Basics - Anfänger-Themen 3
M Wie kann ich Werte die in einer While Schleife sind weiter genutzt werden? Java Basics - Anfänger-Themen 7
L Werte von Objekte addieren Java Basics - Anfänger-Themen 14
R Werte und Reihenfolge in 2d Arrays vergleichen Java Basics - Anfänger-Themen 5
I Werte (u.a. Geldbeträge) in Datenbank speichern und Rundungen? Java Basics - Anfänger-Themen 8
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
G Array Werte addieren Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben