Maximale String länge finden?

Status
Nicht offen für weitere Antworten.

Morpheus2100

Mitglied
Hi Leute,

ich würde gerne die Maximale String länge von einem Result wissen?

also z.B.

Result:
123
1234
12345
123456

Dann soll er mir 6 zurückgeben!
Hat da jemand nen Code snippsel wie man sowas macht?

DANKE
MFG
MIKE
 

The_S

Top Contributor
öhm, was ist ein Result? ResultSet aus DB abfrage, Rückgabewert einer Methode, Array, ...?

Die länge eines Strings bekommst du mit string.length();
 

dieta

Top Contributor
Wenn du das "Result" (Was auch immer das sein soll) in einem Array hast, kannst du das mit einer Schleife machen:
Code:
//...

String[] dasStringArray = ...;

int maxlen = dasStringArray[0].length();
for(int i=0; i<dasStringArray.length(); i++)
    if(dasStringArray[i].length() > maxlen) maxlen = dasStringArray[i].length();

//tu was mit maxlen
 

Morpheus2100

Mitglied
Sorry war fehler von mir!

Ich will ne methode, mit der ich mir den größten String raussuchen will und seinen länge abspeichern!
Am besten das ganze mit int[]!

Ich erzeuge mir mit dieser Schleife:
Code:
for (int k = 0; k < tv.size(); k++) {
				// Namen der Personen
				row = book.getSheetAt(j + 1).createRow(e);
				cell = row.createCell(f++);
				cell.setCellValue(((Vector) tv.get(k)).get(0).toString());
				String personname = ((Vector) tv.get(k)).get(0).toString();
				//maxCharactersinCell(personname);
				//System.out.println(Short.parseShort(""+personname.length()));
				//book.getSheetAt(j+1).setColumnWidth(Short.parseShort("0"), Short.parseShort(""+personname.length()));
				// Datum
				f = 2;
				row = book.getSheetAt(j + 1).createRow(e);
				cell = row.createCell(f++);
				cell.setCellValue(formatDate(((Vector) tv.get(k)).get(3)
						.toString()));
				
				// Tätigkeit
				row = book.getSheetAt(j + 1).createRow(e);
				cell = row.createCell(f++);
				cell.setCellValue(((Vector) tv.get(k)).get(2).toString());
				
				// Dauer
				row = book.getSheetAt(j + 1).createRow(e);
				cell = row.createCell(f++);
				cell.setCellValue(Double.parseDouble(((Vector) tv.get(k))
						.get(4).toString()));
				cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
				summe += StringUtils.toDouble(((Vector) tv.get(k)).get(4)
						.toString());
				e++;
				f = 0;
			}
Jeweils eine Zeile in einem ExcelSheet und dann die nächste!
D.h.
Name Datum Tätigkeit Stunden

Pinker 01 .08.2006 05 Oberflächen Gestaltung 8,9 <------ das hier wird erzeugt!

Jetzt will ich dass Excel dei Spaltenbreite automatisch anpasst!
Poi unterstützt das nicht, d.h. ich muss mir selbst was basteln!

Ich will jetzt die max länge von so einem Feld(string) und dei Spalten breite auch dann so setzen!

Hab mir gedacht ich lese die länge von einem String(Name) aus, schreib das in das erste Feld vom array (den setzte ich auf 4 da die spaltenanzahl nicht variiert) dann lese ich die länge des zweiten Feldes(Datum) aus, und schreibe es an stelle 2 im array, und dann hald noch immer die überprüfung ob der aktuelle wert im array kleiner is, wenn ja setzt ihn neu, wenn nicht, dann den alten drinnen lassen?

Ich hab da etwas probleme, das um zu setzten!

MFG
MIKE
 

Morpheus2100

Mitglied
Ich hab mir da so vorgestellt:

Code:
int[] stringlaengen =  new int[4];
				stringlaengen [0] = ((Vector) tv.get(k)).get(0).toString().length(); //Länge des Namen der Person
				stringlaengen [1] = ((Vector) tv.get(k)).get(3).toString().length(); //Länge des Datums
				stringlaengen [2] = ((Vector) tv.get(k)).get(2).toString().length(); //Länge der Tätigkeit
				stringlaengen [3] = ((Vector) tv.get(k)).get(4).toString().length(); //länge der Dauer

Aber irgendwie muss ich ihm noch sagen, dass er, wenn er ein größeres findet den array überschreibt!

also

Code:
if (wertArray < aktwert)
{
       array[i] = aktwert
}

Könnt ihr mir da weiterhelfen?

DANKE
MFG
MIK
 

Reeny

Aktives Mitglied
Vorschlag: mit temporären Variablen arbeiten und die dann am Ende der For-Schleife die jeweils größte String-Länge als Wert haben. Damit können die Spaltengrößen dann angepasst werden.

z.B. so:
Code:
// temporäre Variablen
int curNameLength = Integer.MIN_VALUE;
int curDateLength = Integer.MIN_VALUE;
int curTaskLength = Integer.MIN_VALUE;
int curDurationLength = Integer.MIN_VALUE;

for (int k = 0; k < tv.size(); k++) { 
	[...]
	String personname = ((Vector) tv.get(k)).get(0).toString();
	// wenn aktuelle Länge größer als bisher bekannte Länge, alten Wert ersetzen
	if (personname.length() > curNameLength)
		curNameLength = personname.length();

	[...]
	String datevalue = formatDate(((Vector) tv.get(k)).get(3).toString())
	// wenn aktuelle Länge größer als bisher bekannte Länge, alten Wert ersetzen
	if (datevalue.length() > curDateLength)
		curDateLength = datevalue.length();

	[... usw ...]
}

// Zellengröße anpassen
book.getSheetAt(j+1).setColumnWidth(Short.parseShort("0"), Short.parseShort(""+curNameLength));
book.getSheetAt(j+1).setColumnWidth(Short.parseShort("1"), Short.parseShort(""+curDateLength));
book.getSheetAt(j+1).setColumnWidth(Short.parseShort("2"), Short.parseShort(""+curTaskLength));
book.getSheetAt(j+1).setColumnWidth(Short.parseShort("3"), Short.parseShort(""+curDurationLength));
 

Morpheus2100

Mitglied
Reeny hat gesagt.:
Vorschlag: mit temporären Variablen arbeiten und die dann am Ende der For-Schleife die jeweils größte String-Länge als Wert haben. Damit können die Spaltengrößen dann angepasst werden.

z.B. so:

OHHHH Sehr geil! das werd ich gleich mal probieren!

DANKE
MFG
MIKE

SO hab jetzt sowas ähnlich beisammen!

Aber mir gefällt es noch nicht!

Code:
int[] maxLenght = new int[4];
			maxLenght[0] = 0;
			maxLenght[1] = 0;
			maxLenght[2] = 0;
			maxLenght[3] = 0;

			for (int k = 0; k < tv.size(); k++) {
				
				// Namen der Personen
				row = book.getSheetAt(j + 1).createRow(reihennummer);
				cell = row.createCell(zellennummer++);
				// Temp personname mit dem Namen der person als String
				String personname = ((Vector) tv.get(k)).get(0).toString();
				cell.setCellValue(((Vector) tv.get(k)).get(0).toString());
				// wenn aktuelle Länge größer als bisher bekannte Länge,alten Wert ersetzen
				if(personname.length() > maxLenght[0])
				{
					maxLenght[0] = personname.length();
				}
					 				
				// Datum
				zellennummer = 2;
				row = book.getSheetAt(j + 1).createRow(reihennummer);
				cell = row.createCell(zellennummer++);
				// Variable datevalue mit dem datum
				String datevalue = formatDate(((Vector) tv.get(k)).get(3).toString());
				cell.setCellValue(formatDate(((Vector) tv.get(k)).get(3).toString()));
				// wenn aktuelle Länge größer als bisher bekannte Länge, alten Wert ersetzen
				if(datevalue.length() > maxLenght[1])
				{
					maxLenght[1] = datevalue.length();
				}
					 
				// Tätigkeit
				row = book.getSheetAt(j + 1).createRow(reihennummer);
				cell = row.createCell(zellennummer++);
				// Variable mit dem Wert Datum
				String taskvalue = formatDate(((Vector) tv.get(k)).get(2).toString());
				cell.setCellValue(((Vector) tv.get(k)).get(2).toString());
				// wenn aktuelle Länge größer als bisher bekannte Länge, alten Wert ersetzen
				if(taskvalue.length() > maxLenght[2])
				{
					maxLenght[2] = taskvalue.length();
				}
				   
				// Dauer
				row = book.getSheetAt(j + 1).createRow(reihennummer);
				cell = row.createCell(zellennummer++);
				// String Variable mit der Dauer als Wert.
				String durationvalue = formatDate(((Vector) tv.get(k)).get(4).toString());
				cell.setCellValue(Double.parseDouble(((Vector) tv.get(k))
						.get(4).toString()));
				cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
				summe += StringUtils.toDouble(((Vector) tv.get(k)).get(4)
						.toString());
				// wenn aktuelle Länge größer als bisher bekannte Länge, alten Wert ersetzen
				if(durationvalue.length() > maxLenght[3])
				{
					maxLenght[3] = durationvalue.length();
				}
				book.getSheetAt(j+1).setColumnWidth(Short.parseShort("0"), Short.parseShort(""+maxLenght[0]));
				book.getSheetAt(j+1).setColumnWidth(Short.parseShort("1"), Short.parseShort(""+maxLenght[1]));
				book.getSheetAt(j+1).setColumnWidth(Short.parseShort("2"), Short.parseShort(""+maxLenght[2]));
				book.getSheetAt(j+1).setColumnWidth(Short.parseShort("3"), Short.parseShort(""+maxLenght[3]));

				reihennummer++;
				zellennummer = 0;
			}

Kann ich da jetzt die ganzen if Anweisungen in ne Methode schreiben?

z.B.
Code:
public int maxCharacters(???) {
		
		return ?;

	}

DANKE
MFG
MIKE
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Maximale Anzahl von Konsonanten im String Java Basics - Anfänger-Themen 6
N Maximale Zahl in einem String Java Basics - Anfänger-Themen 8
RudiRüssel maximale Anzahl von Schlüsseln in einer Hash Tabelle Java Basics - Anfänger-Themen 2
E Maximale KM-Kosten Java Basics - Anfänger-Themen 20
B substring() maximale Zeichenlänge festlegen? Java Basics - Anfänger-Themen 1
F Maximale Länge eines Strings Java Basics - Anfänger-Themen 5
D Maximale Teilsumme ermitteln Java Basics - Anfänger-Themen 6
A Maximale zeichenanzahl im TextField? Java Basics - Anfänger-Themen 4
A Threads Minimale und maximale Anzahl. Java Basics - Anfänger-Themen 28
Q jTextArea maximale Textlänge Java Basics - Anfänger-Themen 3
G maximale Anzahl der Tage im Monat Java Basics - Anfänger-Themen 18
T Methoden Maximale Ziffer von int-Wert Java Basics - Anfänger-Themen 8
B Maximale Länge eines integer Arrays ? Java Basics - Anfänger-Themen 31
M Maximale Anzahl von add-Befehlen? Java Basics - Anfänger-Themen 11
B maximale Zeichenfläche Java Basics - Anfänger-Themen 3
Q Maximale Eingabelänge eines JTextFields Java Basics - Anfänger-Themen 2
G Maximale Größe von klasse Java Basics - Anfänger-Themen 7
G JTextField Abfrage auf maximale Integergröße? Java Basics - Anfänger-Themen 17
Franky868 JTextfield maximale Zeichenanzahl Java Basics - Anfänger-Themen 1
R maximale Länge des INHALTS im JTextField Java Basics - Anfänger-Themen 2
G Maximale Fenstergröße eines JFrame Java Basics - Anfänger-Themen 4
P Maximale Threadzahl Java Basics - Anfänger-Themen 10
G jedem while element eine maximale rechenzeit zusichern Java Basics - Anfänger-Themen 16
N maximale Anzahl Schlüssel in einem Hashtable Java Basics - Anfänger-Themen 7
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
D String Groß/Kleinschreibung Ignorieren Java Basics - Anfänger-Themen 4
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
Kartoffel_1 String transformation Java Basics - Anfänger-Themen 7
H String-Operation replace() - Zeichenkette verdoppeln Java Basics - Anfänger-Themen 2
K String analysieren Java Basics - Anfänger-Themen 27
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
E String zerlegen aus args Java Basics - Anfänger-Themen 1
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
J String Filter Java Basics - Anfänger-Themen 5
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D 2D Char Array into String Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
I Zerlegen von String Java Basics - Anfänger-Themen 3
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
I String Java Basics - Anfänger-Themen 4
I API - zurückgegebener JSON String lesen und in Entity konvertieren Java Basics - Anfänger-Themen 2
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
Substring in einem String finden Java Basics - Anfänger-Themen 13
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
HolyFUT JSON String in Java Object schreiben - Anführungszeichen rauskriegen? Java Basics - Anfänger-Themen 17
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
Alen123 String wiederholen mit Schleifen Java Basics - Anfänger-Themen 1
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
T String splitten Java Basics - Anfänger-Themen 3
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
T Platzhalter in String? Java Basics - Anfänger-Themen 14
M String mit Variable vergleichen Java Basics - Anfänger-Themen 9
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
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
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
P9cman Vokale in einem String überprüfen mittels Rekursion Java Basics - Anfänger-Themen 8
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
R Ein Multidimensionales String Array initialisieren und Deklarieren Java Basics - Anfänger-Themen 2
H String Repräsentation eines Rechtecks mit Instanz-Methode Java Basics - Anfänger-Themen 8
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
S String mit Int input vergleichen Java Basics - Anfänger-Themen 5
C String/Char-API Java Basics - Anfänger-Themen 13
U Char zu einem String machen Java Basics - Anfänger-Themen 1
B Anzahl Nullen uns Einsen in String ermitteln Java Basics - Anfänger-Themen 3
T Leerzeichen im String entfernen Java Basics - Anfänger-Themen 6
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
O Ich habe einen String und soll mit matches schauen, ob ein Buchstabe zu einer geraden ANzahl im String vorkommt, wie soll das gehen? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben