myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

[Hilfe] Zahlensortierer Java (Eclipse o.ä)

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 14.09.11, 15:21   #1
Dijar
Anfänger
 
Registriert seit: Dec 2008
Beiträge: 19
Bedankt: 2
Dijar ist noch neu hier! | 0 Respekt Punkte
Standard [Hilfe] Zahlensortierer Java (Eclipse o.ä)

Hey ..

Ich suche ein Programm welches mir in einem Array (Index=0-99) 100 verschiedene Zahlen zwischen 1-100 ausgibt , mir sie dann in die richtige Reihenfolge sortiert (1-100) und dann noch den Maximalen und den Minimalen Wert ausgibt...

Ich krieg's einfach nicht gebacken und wäre euch sehr dankbar wenn ihr mal einen laufenden Quellcode posten könntet..


Lg,
Dijar
Dijar ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 15:35   #2
Pitsom
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 20
Bedankt: 9
Pitsom ist noch neu hier! | 0 Respekt Punkte
Standard

Diese Seite hat mir immer sehr geholfen.

[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Pitsom ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 15:38   #3
Dijar
Anfänger
 
Registriert seit: Dec 2008
Beiträge: 19
Bedankt: 2
Dijar ist noch neu hier! | 0 Respekt Punkte
Standard

Wenns geht hätte ich trotzdem gerne einen konkreten Quellcode .. Einfach um daraus lernen zu können :P
Dijar ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 16:24   #4
WodkaBaron
Wodkabrenner
 
Registriert seit: Aug 2009
Beiträge: 496
Bedankt: 158
WodkaBaron ist noch neu hier! | 0 Respekt Punkte
Standard

kein problem: zeig uns wie weit du bisher gekommen bist und wir schauen wo wir dir auf die sprünge helfen können - nur so lernst du etwas.
man könnte dir natürlich auch die lösung geben, aber wo bleibt da der lerneffekt. überdenk deine einstellung nochmal.
__________________
Core i7 4790k # Asrock Z97M Pro 4 # 8GB Crucial Ballistix # Vapor-X R9 290X Tri-X # Crucial & Samsung SSD only
WodkaBaron ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 17:43   #5
Dijar
Anfänger
 
Registriert seit: Dec 2008
Beiträge: 19
Bedankt: 2
Dijar ist noch neu hier! | 0 Respekt Punkte
Standard

Okay kein Problem

Die 100 zahlen,minimum und Maximum habe ich soweit .. Mir fehlt noch das sortieren sowie die richtige Setzung alle klammern .. Er sortiert sie mir zwar so halb , dennoch krieg ich jede zahl 5000 ausgegeben und jedes mal ein minimum und ein maximum..
Dennoch haben es viele mit mehreren Klassen zum laufen gekriegt :/ Ich hoffe aber das es auch so geht!

Hier soweit mein Quellcode (Basis hat ein Lehrer für uns geschrieben , ist für die 100rnd zahlen)

Code:
package Blub;
import basis.*;
import java.util.Arrays;
public class Zahlenproblem {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
     
		int max = 0;
		int min = 101;
		
		
		
		
		
		int[] Zahlenfeld = new int[100];
     for (int i=0;i<Zahlenfeld.length;i++){
			Zahlenfeld[i]=(int) Hilfe.zufall(0,100);
     System.out.println(Zahlenfeld[i]);

     {  
         if (max<Zahlenfeld[i])
	     max=Zahlenfeld[i];
     
     if (min>Zahlenfeld[i])
			min=Zahlenfeld[i];
     
     
     }
         Arrays.sort(Zahlenfeld);
          for(int s : Zahlenfeld) 
     	    System.out.println(i);
      
          }
     
     
     System.out.println("Maximum:" +max);
     System.out.println("Minimum;" +min);
     
     }
}
Dijar ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 18:01   #6
Thelvan
Erfahrenes Mitglied
 
Registriert seit: Jul 2010
Beiträge: 489
Bedankt: 236
Thelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt Punkte
Standard

Zitat:
Zitat von Pitsom Beitrag anzeigen
Diese Seite hat mir immer sehr geholfen.

[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Schön dass sie dir geholfen hat, hat aber 0 mit dem Thema zu tun.
Es geht hier um Java und nicht Javas*****, und die haben fast gar nix gemeinsam außer das java im wort.


@ topic

Guck dir mal auf Wikipedia Bubblesort oder Quicksort an, die Algorithmen sind dort schon in Pseudocode, sollte also kein Problem sein, diese in Java umzusetzen
Thelvan ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 18:07   #7
Dijar
Anfänger
 
Registriert seit: Dec 2008
Beiträge: 19
Bedankt: 2
Dijar ist noch neu hier! | 0 Respekt Punkte
Standard

Keiner da der meinen Quellcode konkret verbessern kann oder selbst zufällig einen hat?
Dijar ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 18:45   #8
Dijar
Anfänger
 
Registriert seit: Dec 2008
Beiträge: 19
Bedankt: 2
Dijar ist noch neu hier! | 0 Respekt Punkte
Standard

/push , ist wichtig hahah
Dijar ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 19:26   #9
Thelvan
Erfahrenes Mitglied
 
Registriert seit: Jul 2010
Beiträge: 489
Bedankt: 236
Thelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt Punkte
Standard

Was genau ist denn dein Fehler?

Was geht denn nicht?

Und was soll das hier sein?

Code:
for(int s : Zahlenfeld)
 System.out.println(i);
Thelvan ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 19:27   #10
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

a) dein code ist nen bissl komisch geschweift-geklammert.
b) da ich Hilfe.zufall() nicht habe, gibts eben zufall() als eigene funktion.
c) int[10] statt 100 nur der übersichtlichkeit halber.

richtig:
Code:
import java.util.Arrays;

public class Zahlenproblem {

	private static int zufall(int min, int max) {
		return min + (int) ((max+1-min) * Math.random());

	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {


		int max = -1;
		int min = 101;

		int[] Zahlenfeld = new int[10];
		for (int i = 0; i < Zahlenfeld.length; i++) {
			Zahlenfeld[i] = zufall (1,100); // (int) (100 * Math.random() + 1.0);
			System.out.println("zahl " + i + " == " + Zahlenfeld[i]);

			if (max < Zahlenfeld[i]) {
				max = Zahlenfeld[i];
			}

			if (min > Zahlenfeld[i]) {
				min = Zahlenfeld[i];
			}


		}
		Arrays.sort(Zahlenfeld);
		for (int s : Zahlenfeld) {
			System.out.println(s);
		}



		System.out.println("Maximum:" + max);
		System.out.println("Minimum;" + min);

	}
}
edit:
ausserdem war
Code:
for(int s : Zahlenfeld) 
     	    System.out.println(i);
falsch. muss for (int i: ...) oder System.out.println(s); heissen. typischer copy-und-paste fehler.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 19:28   #11
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Thelvan Beitrag anzeigen
Und was soll das hier sein?

Code:
for(int s : Zahlenfeld)
 System.out.println(i);
das ist die java-version von foreach() aus anderen sprachen.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 19:33   #12
Dijar
Anfänger
 
Registriert seit: Dec 2008
Beiträge: 19
Bedankt: 2
Dijar ist noch neu hier! | 0 Respekt Punkte
Standard

Also mein bisheriges Problem war halt das er ungefähr 10000000 zahlen ausgegeben hat , 0-100 sortiert hat und immer zwischendurch rnd zahlen + max und minimum von mir nicht ersichtbaren zahlen ^^

Die geschweiften Klammern habe ich auch falsch gesetzt wenn ich das richtig sehe :S
Dijar ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 19:35   #13
Dijar
Anfänger
 
Registriert seit: Dec 2008
Beiträge: 19
Bedankt: 2
Dijar ist noch neu hier! | 0 Respekt Punkte
Standard

@Urga

Ich danke dir vielmals.. problem scheint soweit gelöst zu sein (Y)
Dijar ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 19:38   #14
Dijar
Anfänger
 
Registriert seit: Dec 2008
Beiträge: 19
Bedankt: 2
Dijar ist noch neu hier! | 0 Respekt Punkte
Standard

Ja , meine Fehler sind wohl schon recht blöd einfach ... Ich bin erst gerade dabei mich richtig mit Java und codieren zu befassen und deswegen :/
Dijar ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 19:38   #15
Epeos
Ist öfter hier
 
Benutzerbild von Epeos
 
Registriert seit: Nov 2010
Beiträge: 198
Bedankt: 96
Epeos ist noch neu hier! | 0 Respekt Punkte
Standard

Thelvans Tip mit Bubblesort ist doch ziemlich gut. Im Wiki-Artikel ist der Algorithmus im Pseudocode implementiert. Das musst Du nur noch in sauberen Java-Code übersetzen. Bei Bubblesort kommst Du mit while und if aus.

Und wenn Du Deinen Quelltext sauber einrückst (nach einer { einrücken, nach } ausrücken), dann erkennst Du vielleicht auch, in welche Schleifendurchläufen Du welche Daten ausgibst.

Und noch ein Tip:
Code:
          for(int s : Zahlenfeld) 
     	    System.out.println(i);
ist ziemlich böse. Weil Du keine {}-Klammern hinter dem for verwendest, wird das System.out als Befehl in der Schleife ausgeführt und nur das System.out. Wenn Du später einen weiteren Befehl in der Schleife ausführen willst, garantiere ich Dir, dass Du ihn eingerückt unter das System.out schreiben wirst und dich anschließend wunderst, warum der Befehl nur einmal ausgeführt wird.
__________________
On a long enough timeline, the survival rate for everyone drops to zero. (Fight Club)
Epeos ist offline   Mit Zitat antworten
Ungelesen 14.09.11, 22:30   #16
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

tipp vom profi (mir):
nimm epeos hinweis ernst!
also immer {} nach for,while,if,else,try,catch, und was es da sonst noch gibt.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 15.09.11, 18:43   #17
Thelvan
Erfahrenes Mitglied
 
Registriert seit: Jul 2010
Beiträge: 489
Bedankt: 236
Thelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt Punkte
Standard

Und jede Curly Bracket in eine neue Zeile !
Thelvan ist offline   Mit Zitat antworten
Ungelesen 16.09.11, 17:45   #18
murve
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 6
Bedankt: 2
murve ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Thelvan Beitrag anzeigen
Und jede Curly Bracket in eine neue Zeile !
Muss nicht sieht fürn Code aber eleganter aus.
Desweitern kann ich als Sortieralgorithmen auch StraightSelection oder StraightInsertion empfehlen. BubbleSort wird bei riesigen Arrays riesig Zeitfressend xD
murve ist offline   Mit Zitat antworten
Ungelesen 17.09.11, 10:52   #19
Nightmare2800
Anfänger
 
Benutzerbild von Nightmare2800
 
Registriert seit: Nov 2008
Beiträge: 1
Bedankt: 199
Nightmare2800 putzt sich die Zähne mit Knoblauch. | 1914 Respekt PunkteNightmare2800 putzt sich die Zähne mit Knoblauch. | 1914 Respekt PunkteNightmare2800 putzt sich die Zähne mit Knoblauch. | 1914 Respekt PunkteNightmare2800 putzt sich die Zähne mit Knoblauch. | 1914 Respekt PunkteNightmare2800 putzt sich die Zähne mit Knoblauch. | 1914 Respekt PunkteNightmare2800 putzt sich die Zähne mit Knoblauch. | 1914 Respekt PunkteNightmare2800 putzt sich die Zähne mit Knoblauch. | 1914 Respekt PunkteNightmare2800 putzt sich die Zähne mit Knoblauch. | 1914 Respekt PunkteNightmare2800 putzt sich die Zähne mit Knoblauch. | 1914 Respekt PunkteNightmare2800 putzt sich die Zähne mit Knoblauch. | 1914 Respekt PunkteNightmare2800 putzt sich die Zähne mit Knoblauch. | 1914 Respekt Punkte
Standard

Hallo Dijar,

also wenn ich deine Anforderung richtig verstanden habe willst du als erstes ein Array mit 100 Zahlen füllen. Anschließend diese aufsteigend sortieren und dir am schluss das Min und das Max deines Array ausgeben lasse. Ist das mal soweit richtg?

Mein Vorschlag wäre nun wie folgt.
- Leg dir als erstes einmal dein Array an (in deinem sample int[100])
- Füll dieses array jetzt mit zufälligen Werten (was ich gesehen habe über Hilf.zufall(0,100) )
- Wenn du mit dem Füllen fertig bist, kannst du anfangen zu sortieren. Hierbei ist zu beachten, wenn deine Menge von Zahlen nicht über 10.000 oder so was geht kannst du schon noch nmit einem Bubble sort arbeiten (ich würd es aber trotzdem nicht). Wenn dein Array dann doch größer wird solltest du auf Quicksort umsteigen [1]

- Der Min und Max Wert sind nach dem sortieren ja ganz einfach zu finden: Min = Array[0] und Max is Array[Array.Lenght() -1]

Verzichte wärend dem füllen und sortieren auf ausgaben da sie deinen Code langsam machen!

HTH
Nightmare

[1] [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Nightmare2800 ist offline   Mit Zitat antworten
Ungelesen 19.10.11, 21:40   #20
Ccursed
Anfänger
 
Registriert seit: Jun 2010
Beiträge: 45
Bedankt: 12
Ccursed ist noch neu hier! | 0 Respekt Punkte
Standard

Ehm .. hast du nicht fast den selben Thread schon 4 Tage vorher eröffnet ?
Und sind die Codeabschnitte in dem Thread nicht das was du suchst ?
Ccursed ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 Uhr.


Sitemap

().