Sortieren einer Gliederung

Status
Nicht offen für weitere Antworten.

M@usi

Neues Mitglied
Hallo,

ich möchte gern zahlen sortieren und das klappt ja auch wunderbar, nun möchte ich aber auch Zahlen sortieren mit mehreren Punkten, also Gliederungszahlen z.B. 1.1.1, 4.1 usw.

Code:
import java.util.*; 

class Sort 
{ 
public static void main (String [] args) 
{ 
	double[] arr = {4.4,4.1,2,3,4}; 
  
	Arrays.sort(arr); 
  
	for(int i=0; i<arr.length; i++) 
			System.out.print(arr[i]+ " "); 
  
	MyClass object = new MyClass(); 
	System.out.println(object.alleVerschieden(arr)); 
} 
} 


class MyClass 
{ 
	boolean alleVerschieden (double[] a) 
	{ 
	boolean rueckgabe = true; 
  
  
	for(int i=0; i<a.length-1; i++) 
	{ 
		if(a[i]==a[i+1]) 
			rueckgabe = false;    
		else                          
			rueckgabe = true; 
	} 
	return rueckgabe; 
	} 
}

nun komme ich irgendwie nicht so wirklich voran, vielleicht hat ja jemand von euch einen Vorschlag wie ich das umsetzen könnte, würde mich sehr über eine antwort freuen!

Danke M@usi
 

meez

Top Contributor
Mach Strings draus, hau sie in eine Liste, und benutzt die sort() Funktion der Collections Klasse..


Etwa so:

Code:
  List l = new ArrayList();
  l.add("4.4");
  l.add("1.2");
  l.add("3.2.3");

  Collections.sort(l);
 

foobar

Top Contributor
Mach Strings draus, hau sie in eine Liste, und benutzt die sort() function desr Collections Klasse..
Am besten erzeugst du Double-Objekte und lässt diese über Collections.sort( liste ) sortieren, denn Strings werden asciibetisch sortiert.
 
B

bygones

Gast
double Objekte habe ich auch schon überlegt..

aber gibt es nicht probleme bei 1.1.2 usw. also mit mehreren Punkten ?

außerdem gibt es solange kein Problem bis die punkte nicht bis 10 oder so gehen ;-)
 
J

Java Lover

Gast
Code:
boolean alleVerschieden (double[] a) 
   { 
   boolean rueckgabe = true; 
  
  
   for(int i=0; i<a.length-1; i++) 
   { 
      if(a[i]==a[i+1]) 
         rueckgabe = false;    
      else                          
         rueckgabe = true; 
   } 
   return rueckgabe; 
   }

die if- else verzweigung is falsch, das else ist zuviel. weil in diesem fall wie du es gerade hast da würde er den wert der letzten schleife zurückgeben, weil die die eventuellen false werte in der nächsten schleife wieder überschreibst. also sollte sie folgendermaßen aussehen

Code:
boolean alleVerschieden (double[] a) 
   { 
   boolean rueckgabe = true; 
  
  
   for(int i=0; i<a.length-1; i++) 
   { 
      if(a[i]==a[i+1]) 
         rueckgabe = false;    
   } 
   return rueckgabe; 
   }

bye
 

meez

Top Contributor
deathbyaclown hat gesagt.:
double Objekte habe ich auch schon überlegt..
aber gibt es nicht probleme bei 1.1.2 usw. also mit mehreren Punkten ?

Darum auch Strings...
Bei 10 fängt das Problem an, da diese dann halt immer noch hinter 2 kommen.
Eine andere Möglichkeit wäre die "Zahlen" zu spliten, und die Teile einzeln zu sortieren...
 

M@usi

Neues Mitglied
ich hab das jetzt mit dem Strin und der liste mal versucht aber der meckert, das Semikolon in der Stringdefinition an und ich finde nicht heraus warum!

geht das denn so nicht und wenn wie anders?

Code:
class Sort
{ 
public static void main (String [] args) 
{ 
	String l[]={"4.4" ,"1.2 " , "3.2.3";}; // hier will er das erste Semikolon nicht????
	
	List l = new ArrayList(); 
	l.add("4.4"); 
	l.add("1.2"); 
	l.add("3.2.3"); 

	Collections.sort(l); 

	 } 
}
 
B

bygones

Gast
warum sollte er es auch wollen ;)
es ist syntaktisch falsch....
Code:
String[] l={"4.4" ,"1.2 " , "3.2.3"};
 
G

Guest

Gast
gut danke soviel dazu :oops:

wie siehts denn nun aus, wenn ich mehrer gliederung über Console einfügen will....

ich gebe z.B. ein "1.2.3 Überschrift"

und danach ein weiterem punkt "1.1.1 Bla"

dann würde es doch am besten sein, wenn ich dies in eine Liste packe!
muss ich dann zuerst die Gliederung aufsplitten und dann in die liste oder umgekehrt!

weiß nicht genau wie ich da anfangen soll :cry:

wäre echt lieb wenn jemand nen großen denkanstoß hat für mich :wink:

danke M@usi
 

meez

Top Contributor
Denkanstoss ;) :
Code:
public class MyClass {

   public static void main(String[] a) {
    
      List l = new ArrayList();
      l.add("4.4.1.2");
      l.add("1.2");
      l.add("3.2.3");
      l.add("5.3.2.4");
      Collections.sort(l);
      for (int n=0;n<l.size();n++) {
         System.out.println(l.get(n));
      }
   }
}

Du darfst einfach keine Nummer über 10 haben...
 
G

Gast

Gast
Vielleicht hilft diese Methode:



Code:
	public static String[] sortiereNachGliederungspunkten(String[] gliederung){
		String[] enum = new String[gliederung.length];
		int length = 0;
		int max = 0;
		for(int k = 0; k < enum.length; k++){
			StringTokenizer st = new StringTokenizer(gliederung[k]);
			enum[k] = st.nextToken();
			if(length < enum[k].length()){
				length = enum[k].length();
			}
		}
		
		String[][] matrix = new String[gliederung.length][];
		
		for(int k = 0; k < enum.length; k++){
			StringTokenizer st = new StringTokenizer(enum[k], ".");
			String[] token = new String[st.countTokens()];
			int index = 0;
			while(st.hasMoreTokens()){
				String entry = st.nextToken();
				if(max < entry.length()){
					max = entry.length();
				}
				token[index++] = entry;
			}
			matrix[k] = token;
		}
		
		for(int k = 0; k < matrix.length; k++){
			String str = "";
			for(int c = 0; c < matrix[k].length; c++){
				while(matrix[k][c].length() < max){
					matrix[k][c] = "0" + matrix[k][c]; 
				}
				str += matrix[k][c];
			}
			while(str.length() < length){
				str += "0";
			}
			enum[k] = str;
		}
		
		matrix = null;
		
		HashMap map = new HashMap();
		
		for(int k = 0; k < enum.length; k++){
			map.put(enum[k], gliederung[k]);
		}
		
		Arrays.sort(enum);
				
		String[] result = new String[gliederung.length];
	
		for(int k = 0; k < result.length; k++){
			result[k] = map.get(enum[k]).toString();
		}
		return result;
	}




hatte mal das gleiche Problem und bei kamen Nummern über 10 vor. Vielleicht nicht gerade die cleverste Implementierung, aber soweit ich informaiert bin funktioniert sie.

Illuvatar: Codetags!!! :noe:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
H Kompliziertes Sortieren einer ArrayList mit Objekten(Sortieren nach X und Y) Java Basics - Anfänger-Themen 11
rafi072001 Sortieren einer HashMap nach Values Java Basics - Anfänger-Themen 2
O 2D-Array nach einer Spalte sortieren Java Basics - Anfänger-Themen 22
C Sortieren einer ArrayList Java Basics - Anfänger-Themen 2
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
U Objekte in einer LinkedList sortieren Java Basics - Anfänger-Themen 5
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
O Arrays sortieren in einer Methode Java Basics - Anfänger-Themen 2
A Sortieren ausgerechneter Werte aus einer TXT Datei Java Basics - Anfänger-Themen 8
F Liste nach einer Variablen sortieren Java Basics - Anfänger-Themen 6
Alex/89 Werte einer .txt Datei sortieren Java Basics - Anfänger-Themen 8
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
I Listen sortieren bei mehreren Listen zu einer Java Basics - Anfänger-Themen 2
M Sortieren von einer Liste - zwei zugehoerige Variablen Java Basics - Anfänger-Themen 5
D Sortieren von int Werten von Objekten in einer LinkedList, kann nicht auf int Werte zugreifen Java Basics - Anfänger-Themen 3
D Sortieren in Abhängigkeit von einer anderen Sortierung Java Basics - Anfänger-Themen 14
S Collections Sortieren von 3 Collections nach "einer Sortierung" Java Basics - Anfänger-Themen 3
W Objekte in einer Array sortieren Java Basics - Anfänger-Themen 3
F Collections Datenbankdaten in einer Map speichern, bearbeiten, sortieren und wieder in Datenbank schreiben Java Basics - Anfänger-Themen 20
A Array einer eigenen Klasse sortieren Java Basics - Anfänger-Themen 11
G Problem beim Sortieren einer Liste Java Basics - Anfänger-Themen 20
R Sortieren einer Hashtabelle Java Basics - Anfänger-Themen 6
B Sortieren von Objekt Arrays nach einer Instanz Java Basics - Anfänger-Themen 8
H Objekte in einer Hashtable am einfachsten sortieren Java Basics - Anfänger-Themen 13
C ArrayListen in einer ArrayList der Grösse nach sortieren Java Basics - Anfänger-Themen 5
G die keys einer Hashtable sortieren Java Basics - Anfänger-Themen 15
C Zeilen einer Textdatei sortieren Java Basics - Anfänger-Themen 2
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J HashSet mit Comparable sortieren Java Basics - Anfänger-Themen 13
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
O Sortieren mit Insertion Sort Java Basics - Anfänger-Themen 3
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Jambolo Karten sortieren nach Rang und Farbe Java Basics - Anfänger-Themen 5
rosima26 Java nach letzter Ziffer sortieren Java Basics - Anfänger-Themen 19
K verschiedene Eingaben sortieren Java Basics - Anfänger-Themen 6
G zweidimensionales int Array sortieren Java Basics - Anfänger-Themen 57
K Java sortieren. Java Basics - Anfänger-Themen 7
D Array Elemente sortieren in aufsteigender Reihenfolge Java Basics - Anfänger-Themen 10
J Tabelle Sortieren Java Basics - Anfänger-Themen 48
L Sortieren Java Basics - Anfänger-Themen 1
C Wie 2 Arrays zusammenfügen und sortieren? Java Basics - Anfänger-Themen 11
C ArrayList sortieren nach bestimmten Buchstaben in den Wörtern Java Basics - Anfänger-Themen 13
javaluke Erste Schritte Array nach Datentyp sortieren Java Basics - Anfänger-Themen 16
A Teilarrays eines 2D-Arrays sortieren Java Basics - Anfänger-Themen 4
java3690 eine liste sortieren Java Basics - Anfänger-Themen 12
DorFey Sortieren eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 8
P Sortieren von Listen nach Attributen Java Basics - Anfänger-Themen 3
W Personen sortieren mit Comparator Java Basics - Anfänger-Themen 9
B HashMap alphabetisch sortieren Java Basics - Anfänger-Themen 2
S Streams - Abfrage absteigend sortieren Java Basics - Anfänger-Themen 11
V Collections ArrayList mit Comparator sortieren Java Basics - Anfänger-Themen 16
L Array sortieren Java Basics - Anfänger-Themen 4
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
T Java: Array monat absteigend sortieren? Java Basics - Anfänger-Themen 1
B Liste sortieren? Java Basics - Anfänger-Themen 4
P Array Sortieren mit boolean? Java Basics - Anfänger-Themen 33
scratchy1 Array sortieren und dann String-Repräsentation ausgeben Java Basics - Anfänger-Themen 2
E Methoden 2 Arrays sortieren (MergeSort) Java Basics - Anfänger-Themen 3
B Suchen und sortieren Java Basics - Anfänger-Themen 10
F Zahlen im Feld sortieren + Unterprogramm Java Basics - Anfänger-Themen 4
O Zweidimensional Array sortieren Java Basics - Anfänger-Themen 14
J Liste,Queue,Stack sortieren Java Basics - Anfänger-Themen 2
CptK Variablen Teile eines Arrays zufällig sortieren Java Basics - Anfänger-Themen 7
K Methoden Array[][] sortieren Java Basics - Anfänger-Themen 30
CptK Datentypen Integer ArrayList sortieren Java Basics - Anfänger-Themen 2
E ArrayList sortieren Java Basics - Anfänger-Themen 16
L Methode zum sortieren Java Basics - Anfänger-Themen 1
L Methode zum sortieren Java Basics - Anfänger-Themen 1
B Sortieren mit Iterator Java Basics - Anfänger-Themen 4
B Wie kann ich die Buchstaben sortieren nach der Höhe der Zahlen Java Basics - Anfänger-Themen 14
E LMC (Assembler) Sortieren von 3 Zahlen Java Basics - Anfänger-Themen 4
J String, Int und double Array sortieren Java Basics - Anfänger-Themen 16
A Array sortieren Java Basics - Anfänger-Themen 1
N StringArray alphabetisch sortieren Java Basics - Anfänger-Themen 4
Tommy135 Erste Schritte JavaDoc Sortieren Java Basics - Anfänger-Themen 5
R Winkel berechnen bzw. Geraden sortieren Java Basics - Anfänger-Themen 33
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
D Arraylisten sortieren bitte um Hilfe Java Basics - Anfänger-Themen 4
informatikschüler21 String im Array sortieren Java Basics - Anfänger-Themen 4
U Methoden Zweidimensionales Array mit Arrays.sort sortieren? Java Basics - Anfänger-Themen 22
M Arrays sortieren und kleinster Abstand Java Basics - Anfänger-Themen 3
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
N TreeMap alphabetisch sortieren? Java Basics - Anfänger-Themen 3
I <List> sortieren Java Basics - Anfänger-Themen 2
F Interface Nach mehreren Kriterien sortieren Java Basics - Anfänger-Themen 2
R Objekte Vergleichen und Sortieren Java Basics - Anfänger-Themen 3
I Sortieren nach Priorität Java Basics - Anfänger-Themen 3
S List<T<X,Y> sortieren Java Basics - Anfänger-Themen 5
W Array sortieren Java Basics - Anfänger-Themen 3
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
N Bubble Sort sortieren mit Int Werte Java Basics - Anfänger-Themen 8
N Collection sortieren/ filtern Java Basics - Anfänger-Themen 7
C Methoden Einfach verkette Liste - int Werte aufsteigend sortieren Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben