Java Felder

Sil3ntCoder

Neues Mitglied
Ich habe ein Feld erstellt mit int[] a = {2,3,4,5} und möchte nun das kleinste Element löschen, das ich bereits mit
public int min(int[] liste) {
int res = liste[1];
for (int i = 0; i < liste.length; i++) {
if (res > liste)
res = liste;
}
return res;
}
herausgefunden habe.
 

looparda

Top Contributor
Überarbeite erst einmal noch deine min-Funktion. Und was soll diese liefern? Den kleinsten Wert oder den Index des kleinsten Werts im array?
 

Robat

Top Contributor
Zumal: Code bitte in Code-Tags. Siehe meine Signatur oder im Editor auf "Einfügen" klicken (4. Button von Rechts).
 

JuKu

Top Contributor
Am besten gehst du so vor, dass du erst einmal den Index des kleinsten Elementes suchst:
Java:
int[] list = new int[]{2, 3, 4, 5};

int minIndex = 0;
int minValue = Integer.Max_Value;

for (int i = 0; i < list.length; i++) {
    if (list[i] < minValue) {
        minValue = list[i];
        minIndex = i;
    }
}

System.out.println("min value: " + minValue + ", minIndex: " + minIndex);

Danach erstellst du ein neues Array mit list.length - 1 Feldern, gehst in einer for-Schleife die Elemente durch und überspringst aber das Element, welches in minIndex steht.
Java:
int[] newList = new int[list.length - 1];

int k = 0;

for (int i = 0; i < list.length; i++) {
    if (i != minIndex) {
        newList[k] = list[i];
        k++;
    } else {
        //dont add this number to list
    }
}

Falls dir die Antwort gefallen hat, dann lass doch bitte ein "Gefällt mir" da! :D
 

ssoul26

Bekanntes Mitglied
Was passiert, wenn zwei Werte gleich sind? Also der Min-Wert mehrmals vorkommt? Diese Erweiterung könntest du ja selber hinzufügen...
 

JuKu

Top Contributor
@MiMij @Robat

Und was bringt ihm jetzt die fertige Lösung?

Ganz einfach:
Oftmals sind Anfänger noch nicht so weit, um selbst eine Lösung erstellen zu können. Sie müssen erstmal ein "Beispiel" sehen, um zu verstehen, wie es funktioniert. Es ist seine erste Frage in diesem Forum, also habe ich ihm solch ein Beispiel geboten. Etwas, das einem wirklich weiter hilft.
Und keine 10.000 Fragen, die weder Probleme aufdecken, noch den Lösungsweg ansatzweise zeigen.
Wenn du in einer Mathematik Vorlesung sitzt und nur die Definition kennst, nützt dir das auch relativ wenig, sinnvoller ist es, auch mal ein Beispiel zu sehen. Es ist viel leichter erstmal zu sehen, wie jemand anderes einen Nagel in die Wand schlägt und man es dann selbst probiert, als wenn man die Bedienungsanleitung des Hammers lesen müsste.

Und statt "Und was soll diese liefern? Den kleinsten Wert oder den Index des kleinsten Werts im array?" könnte man auch einfach sagen: "Am einfachsten gehst du so vor, dass du zuerst den Index des kleinsten Wertes herausbekommst" (die Fragen sind trotzdem nicht schlecht, aber ein Ratschlag hilft oftmals besser als viele 10.000 Fragen).

Desweiteren schreibt er hier im Allgemeinen Java Forum und nicht im Anfänger Forum. In diesem Forum sehe ich es nicht als meine Aufgabe an, ihn stückweit mit der Lösung zu füttern. Wenn er Java / programmieren erst verstehen will, soll er die Frage im Anfänger Forum stellen. Hier würde sie nur unzählige erfahrenere Programmierer nerven.
Zugegeben, es ist eine Anfänger Frage (--> falsches Forum), aber siehe Begründung oben.
 

MiMij

Bekanntes Mitglied
Dann widersprichst du dir aber gerade irgendwie selber.
Erst sagst du, Anfängern die gerade mit Java anfangen sollte man die Lösung zeigen, damit sie überhaupt einen Weg finden. Dann sagst du aber wir sind hier im allgemeinen Java Forum da siehst du es nicht als deine Aufgabe ihn mit Stücken der Lösung zu füttern.
D.h. du würdest ja immer die Lösung liefern, egal ob Anfänger oder nicht. Was wiederum keinen Sinn macht.

Ich denke gerade auch als Anfänger macht es Sinn auch mal über die Aufgabe nachzudenken und zu wissen was man eigentlich braucht. Vorallem zu verstehen was der eigene Code bisher macht. Wenn man da Probleme hat, kann man hier nachfragen und hier sind genügend Hilfsbereite Leute die einem Antworten.

Zudem seh ich hier häufig Fragen in beiden Forenteilen die jeweils nicht darein gehören. Jeder postet wo er gerade möchte.
 

looparda

Top Contributor
Und statt "Und was soll diese liefern? Den kleinsten Wert oder den Index des kleinsten Werts im array?" könnte man auch einfach sagen: "Am einfachsten gehst du so vor, dass du zuerst den Index des kleinsten Wertes herausbekommst"

Ich finde jemanden anzuregen zu reflektieren was er gerade tut oder eben nicht tut hilft mehr. Auch wenn derjenige dann mehre Nachfragen stellt oder formuliert wie weit er gekommen ist verfestigt es das Wissen. Man kann auch viel individueller auf den Fragenden eingehen und Verständnisprobleme beseitigen. Wie es aber meist läuft ist, dass jemand eine Lösung schreibt und der Fragende höchstens noch ein Danke da lässt und man ihn ab dann nie wieder im Forum sieht.
 

JuKu

Top Contributor
Dann widersprichst du dir aber gerade irgendwie selber.
Erst sagst du, Anfängern die gerade mit Java anfangen sollte man die Lösung zeigen, damit sie überhaupt einen Weg finden. Dann sagst du aber wir sind hier im allgemeinen Java Forum da siehst du es nicht als deine Aufgabe ihn mit Stücken der Lösung zu füttern.

Inwiefern?
Ich finde das eine widerspricht dem anderen in keinster Weise.
Wenn jemand ganz neu ist, braucht er ein Beispiel. Wenn du mal in einer Mathematik Vorlesung gesessen hast, dann weißt du was ich meine. Mir geht es nicht darum, dass er die Lösung "irgendwann" findet, sondern auch darum, das ganze "effizient" zu gestalten. Wenn er eine Woche am selben Problem sitzt, dann wird seine Motivation sehr stark darunter leiden. Wir wollen Software entwickeln und Probleme lösen und nicht Wochenlang damit beschäftigt sein.
Logischerweise lernt man - immer - auch etwas daran, egal ob man selbst auf die Lösung kam, oder sie auf Stackoverflow findet. Letzendlich geht es nur darum kein Copy & Paste zu betreiben, sondern es eben nur als Beispiel zu sehen. Aber diese Verantwortung trägt ja wohl jeder selbst!
Ich finde wir alle sind reif genug um selbst zu entscheiden, was besser für einem selbst ist.

D.h. du würdest ja immer die Lösung liefern, egal ob Anfänger oder nicht. Was wiederum keinen Sinn macht.

Nein, aber ich unterscheide nach Forum.
Anfänger Forum --> stückweise mit Lösung "füttern"
Allgemeines Java Forum --> direkt die Lösung

Ich gehe davon aus, dass fortgeschrittene Software Entwickler selbst wissen, was gut für sie ist. Und ob man die ganze Lösung haben will oder nur teilweise, kann man ja der Frage entnehmen. Und ich finde dieses Forum ist explizit für fortgeschrittene Themen --> ich richte mich danach.
Falls die Admins von java-forum.org damit andere Absichten hatten, dann bitte ich die Admins, mich zu korrigieren.

Ich denke gerade auch als Anfänger macht es Sinn auch mal über die Aufgabe nachzudenken und zu wissen was man eigentlich braucht. Vorallem zu verstehen was der eigene Code bisher macht. Wenn man da Probleme hat, kann man hier nachfragen und hier sind genügend Hilfsbereite Leute die einem Antworten.

Davon kann man ja erstmal ausgehen. Jeder lernt aber sowieso anders. Die einen brauchen nur ne Definition, die anderen brauchen ein Beispiel. Grundsätzlich sollte jeder mit beidem können, aber für den einen ist das erstere das einfachere, für den anderen das andere.

Zudem seh ich hier häufig Fragen in beiden Forenteilen die jeweils nicht darein gehören. Jeder postet wo er gerade möchte.

Richtig! Das ist viel entscheidender!
Aber ich sehe es nicht als meine Aufgabe an, dies extra zu unterscheiden. Es ist Aufgabe der Moderatoren dieses Forums diese Threads entsprechend zu verschieben, wenn sie es für nötig halten.

Ich finde jemanden anzuregen zu reflektieren was er gerade tut oder eben nicht tut hilft mehr. Auch wenn derjenige dann mehre Nachfragen stellt oder formuliert wie weit er gekommen ist verfestigt es das Wissen.

Wie gesagt, ich gebe euch recht, aber ich sehe das nicht als Aufgabe in diesem Forum an. Dafür gibt es das Anfänger Forum. Wenn man hier schreibt, sollte man bereits in der Lage sein auch ohne äußere Einflüsse zu reflektieren und den Code zu verstehen - aber das ist meine persönliche Meinung.
Auch mit Code Lesen verfestigt man bereits sein Wissen. Mir hat es früher sehr viel geholfen fremden Code zu lesen, zu verstehen, wie andere das Problem angehen. Wenn man immer nur die eigene Lösung betrachtet, schaut man nie über den Tellerrand hinaus. Man kocht sein eigenes Süppchen, aber mit Professionalität hat das wenig zu tun. Da erwartet man dann doch etwas "mehr". Vorallem auch was die Software Architekturen anbelangt, ist es immer ratsam, sich auch anderen Code anzuschauen. So kann man nur besser werden.

Und zu guter letzt:
Informatik ist den meisten deutschen Unis nach eine Ingenieurswissenschaft und keine Naturwissenschaft mehr. Auch wenn noch der Bachelor of Sciene vergeben wird.
Unsere Aufgabe ist es die Dinge anzuwenden und nicht wie Mathematiker oder Physiker neues Grundlagen Wissen zu schaffen. Wir müssen das Rad nicht neu erfinden.

Man kann auch viel individueller auf den Fragenden eingehen und Verständnisprobleme beseitigen.

Habe ich das nicht? Es gibt 1000 Wege nach Rom. Ich habe meine Erfahrung mit ihm geteilt und ihm z.B. gesagt, dass ich erst einmal den Index des niedrigsten Wertes finden würde. Ich bin bei der Lösung auch schrittweise vorgegangen. Klar, nicht so fein-granulat, aber wie gesagt: Das halte ich auch das falsche Forum dafür.

Desweiteren geht es mir auch um Wiederverwendbarkeit. Wenn der nächste User mit demselben Problem ankommt und den Thread über die Suche findet, soll er nicht einen neuen Thread für sein leicht ähnliches Problem eröffnen, sondern eine Lösung vorfinden. Ob er dann Copy & Paste betreibt oder versucht es zu verstehen, liegt in seiner eigenen Verantwortung.
 

ssoul26

Bekanntes Mitglied
Und zu guter letzt:
Informatik ist den meisten deutschen Unis nach eine Ingenieurswissenschaft und keine Naturwissenschaft mehr. Auch wenn noch der Bachelor of Sciene vergeben wird.
Unsere Aufgabe ist es die Dinge anzuwenden und nicht wie Mathematiker oder Physiker neues Grundlagen Wissen zu schaffen. Wir müssen das Rad nicht neu erfinden.

Das sehe ich nicht so. Unsere Aufgabe ist es Technologien (Kontext Informatik) anzuwenden aber auch neue Technologien zu erschaffen (z.B. neue Algorithmen). Informatik ist nicht nur anwenden sondern auch verstehen und optimieren gegebenfalls neu entwickeln.
 

JuKu

Top Contributor
@ssoul26 Jo, das stimmt. Mir geht es aber vielmehr um die Ebene. Wenn du ein Programm entwickelst, schaffst du immer neue Algorithmen. Aber nicht alle sind so Low Level. Niemand käme auf die Idee einen neuen Algorithmus zu erfinden, der das kleinsten Wert zurückgibt. Davon gibt es schon unzählige und optimieren kann man auch nur durch Bäume & Co., die dann wiederum aber den selben Algorithmus anwenden.

Aber noch ein weiteres Beispiel, welches vllt. verständlicher ist:
Als Informatiker musst du theoretisch in der Lage sein eine CPU zu entwerfen und zu bauen. Jetzt ist die Frage, auf welcher Ebene du das tust, ob du z.B. fertige Gatter verwendest, oder ob du diese Gatter erst selbst entwickelst, bis zu den Transistoren runter. Oder komplett neue Bauteile wie Transistoren. Praktisch solltest du auch Elektronik-Kentnisse besitzen (diese werden schließlich im Studium ebenfalls vermittelt) und somit theoretisch alles können, praktisch gibt es dafür aber andere Leute, nämlich die ETler.
Diese übernehmen den Elektronik-Part, während die Informatiker eher auf einer höheren Ebene die CPU entwerfen.
Genauso ist es mit bestimmten Algorithmen. Wenn du in der Navigations-Branche unterwegs bist, wirst du als Informatiker selbst eher selten die ganzen optimierten Algorithmen für die Graphensuche entwickeln. Dafür hat man dann Mathematiker mit Schwerpunkt Informatik in der Firma, die genau diese Schnittstelle bieten und sich um sowas kümmern. Diese gehen dann auch viel theoretischer da ran.

Aber wir sind ehrlich gesagt ganz schön vom Thema abgeschweift. Lasst uns doch bitte mal zum Thema zurückkehren, wir können sowas gerne per PN besprechen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
megachucky Java Reflection -> versteckte Felder finden? Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4
G java.io.listFiles() Allgemeine Java-Themen 2
N Java Dynamic Proxy Allgemeine Java-Themen 3
N Leichte Java Gegner Ki Allgemeine Java-Themen 10
A Java modul Problem Allgemeine Java-Themen 4
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
V Funktionale Schnittstelle in Java Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
KonradN Java 20 am 21. März Allgemeine Java-Themen 1
O Java Website Stock Bot Allgemeine Java-Themen 3
J Front-/Backend in Java Allgemeine Java-Themen 14
doopexxx JAVA Google Webcrawler Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
G java.lang.NoClassDefFoundError: org/aspectj/lang/Signature Allgemeine Java-Themen 2
lalex1491 Java Aktienkurse nachfragen Allgemeine Java-Themen 4
J Class to link Java Allgemeine Java-Themen 4
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
mrStudent Inferenz JAVA Allgemeine Java-Themen 6
U URI Rechner (Java Script) Allgemeine Java-Themen 7
TheSkyRider Java Geburtsdatum Textfeld Allgemeine Java-Themen 7
mihe7 Java 19 JavaDocs: Browserintegration Allgemeine Java-Themen 0
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
H Java Rechner Programmierung der Mathematik Allgemeine Java-Themen 33
Lennox Schinkel Java Kara Auf einen Java Host laufen lassen Allgemeine Java-Themen 17
C Fußnoten von DocX mit Java Allgemeine Java-Themen 2
C Fußnoten in DocX mit Java Allgemeine Java-Themen 1
M Aussagenlogik in Java Programmieren Allgemeine Java-Themen 22
B Per Java Word Dokument schreiben? Allgemeine Java-Themen 8
krgewb Java-Bibliothek für ONVIF Allgemeine Java-Themen 1
KonradN Oracle übergibt (Java Teile der) GraalVM Community Edition an OpenJDK Community Allgemeine Java-Themen 2
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
B Java mit command line und jars benutzen? Allgemeine Java-Themen 18
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
B HTTP Allgemeine Fragen über Suchmaschine nutzen mit Java Allgemeine Java-Themen 20
Mick P. F. Wie kriege ich die Fehlermeldung "java: symbol lookup error: ..." weg? Allgemeine Java-Themen 11
K Nachhilfe Java Allgemeine Java-Themen 11
KonradN Java 19 Allgemeine Java-Themen 11
F IDEA IntelliJ Java Songliste erstellen Allgemeine Java-Themen 6
TheSepp Java bestimmtes Array auf den Wert 0 setzen Allgemeine Java-Themen 32
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
Sachinbhatt Sind alle Methoden in Java implizit virtuell Allgemeine Java-Themen 2
E Java und integrierte Grafikkarten Allgemeine Java-Themen 18
Sachinbhatt Wie wird die Typumwandlung bei Mehrfachvererbung in Java implementiert? Allgemeine Java-Themen 3
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
A Java unter Win 10 Allgemeine Java-Themen 1
B Woher kommen die Bildschirmkoordinaten beim java Robot? Allgemeine Java-Themen 14
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
T Java Robot Class - Bot Allgemeine Java-Themen 3
E Wie Java Heap Space vergrößern? Allgemeine Java-Themen 3
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
berserkerdq2 Threads, wie genau läuft das in Java ab? (Ich kann Threads erstellen und nutzen, nur das Verständnis) Allgemeine Java-Themen 6
izoards Java Home Pfad unabhängig von der Version Allgemeine Java-Themen 7
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
KonradN CVE-2022-21449: Fehler in Java bei Signaturprüfung Allgemeine Java-Themen 20
berserkerdq2 Java sql Allgemeine Java-Themen 15
JordenJost Unverständlicher Java code? Allgemeine Java-Themen 21
LimDul XSD To Java - Überschreiben von Assoziationen Allgemeine Java-Themen 1
Aartiyadav Comparisons and Swapa in Bubble-sort Java Allgemeine Java-Themen 6
KonradN Java 18 Allgemeine Java-Themen 8
N Statistische Auswertung von Logfiles (Einlesen, auswerten und grafische Aufbereitung von logfiles) mit Java Allgemeine Java-Themen 9
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
Z Mit Java 8+ Streams Zeilen nummern zu Zeilen hinzufügen Allgemeine Java-Themen 17
M Verständnisfrage java.util.TimerTask Allgemeine Java-Themen 2
V Hilfe mit Java Code Allgemeine Java-Themen 4
S Processing Java Code verstehen Allgemeine Java-Themen 4
O Newton Algorithmus Java Allgemeine Java-Themen 1
P Java Quellen finden Allgemeine Java-Themen 3
M Java Analyse/ SWOT-Analyse Allgemeine Java-Themen 13
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
Atten007 Java-Klasse auf macOS entpacken? Allgemeine Java-Themen 2
E java mithilfe url .jar datei öffnen Allgemeine Java-Themen 9
M Warum hat Java dieses und jenes nicht... Allgemeine Java-Themen 8
E Java .exe Datei mit args starten Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben