Erste Schritte Strings

Hallo :)

Ich möchte gerne folgende Aufgabe selber lösen, jedoch fehlt mir das Wissen dazu und bitte um etwas hilfe.

Ich habe bereits eine Lösung für diese Aufgabe, aber diese möchte ich nicht verwenden da sie nicht von mir ist und ich es verstehen möchte abschreiben kann jeder.

Also zu meiner Aufgabe:

In dieser Aufgabe soll die größte Ziffer einer übergebenen ganzen Zahl ermittelt werden, wenn diese in der Zehnerbasis dargestellt wird.

Beispiel: Die größte auftretende Ziffer in -254123 ist 5.

Hinweis: Eine Möglichkeit, die Implementierung zu vereinfachen, besteht darin, die String-API zu benutzen, um sich passende Methoden zum Lesen der Ziffern oder Aufsplitten des Strings herauszusuchen.

Was genau wird mit String-API gemeint?

Was ich mir überlegt habe ist erst mal den Integer positiv zu machen.

Java:
public int findMaxDigit (int number){

if(number<0) number=number*(-1); // bzw numer*= (-1);

}

Der nächste schritt wäre jetzt alle Zahlen mit einander zu vergleichen und jeweils die größte nehmen, aber ich weiß nicht genau wie ich das anstelle. Wie durchlaufe ich den String? Wahrscheinlich mit einer For-Schleife aber wie genau weiß ich leider nicht.
 
S

SlaterB

Gast
was ist denn die schon vorhandene Lösung, arbeitet die ohne Strings?

es gibt in den Klassen String und Integer oder auch so diverse Möglichkeiten eine Zahl in einen String umzuformen
"254123", ob mit oder ohne Minuszeichen,
dann gibts charAt() und vieles anderes, um an die einzelnen Ziffern zu kommen
 
Zuletzt bearbeitet von einem Moderator:

Michael...

Top Contributor
Was genau wird mit String-API gemeint?
Gemeint ist hier wohl die Dokumentation zur API:
String (Java Platform SE 6)
Grundsätzlich musst Du Dich aber erst einmal für einen Weg entscheiden willst Du die Zahl als Zahl behandeln und die einzelnen Stellen herauslösen.
Wenn Du mit Hilfe der String Methoden arbeiten willst musst Du zunächst die Zahl in einen String wandeln, die einzelnen Stellen herauslösen, diese wieder in Zahlen wandeln und vergleichen.
 
N

nillehammer

Gast
Was genau wird mit String-API gemeint?
Letztendlich alle Methoden, die Dir die Klasse String zur verfügung stellt.
Was ich mir überlegt habe ist erst mal den Integer positiv zu machen.
Das ist unnötig. Es geht bei der Aufgabe ja garnicht um den Wert des ints selbst, sondern um die Ziffern innerhalb des Integers. Dafür ist das Vorzeichen nicht von Bedeutung.

Als Denkanstoß folgendes Vorgehen:
- Wandle das int in einem String. Damit hast Du die einzelnen Ziffern als Zeichen innerhalb des Strings
- Wandele den String in einen char-Array. Damit hast du die einzelnen Ziffern in einem Array von chars
- Sortiere den Char-Array. Damit hast Du die höchste Ziffer automaitsch als letztes Element des char-Arrays und kannst sie ausgeben.

Hilfreiche Klassen sind die schon genannte
Code:
String
und die Klasse
Code:
Arrays
. Schau Dir deren Methoden an und Du wirst ziemlich schnell die für den o.a. Algorithmus benötigten finden.

[EDIT]Vielleicht ist das "Positiv-Machen" doch keine so schlechte Idee. Damit elemeniert man das Minuszeichen aus dem resultierenden String.[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:

faetzminator

Gesperrter Benutzer
Ich würde das ganze mathematisch lösen...
Java:
number = Math.abs(number);
int max = 0;
while (number > 0) {
    max = Math.max(max, number % 10);
    number /= 10;
}
;)
 
Also die mir vorliegende Lösung ist diese hier:

Java:
int a = 0;
int b = 0;
int c = 0;
if( number < 0 )
number *= (-1);
Integer n = new Integer(number);
String str = n.toString();
a=str.length();

for (int i = 0; i < a; i++) {
b = str.charAt(i);

if (b > c){
c = b ;
}
}
return c-48;

Wobei ich nicht wirklich verstehe wieso er -48 abziehen muss bzw warum er bei dieser Methode +48 hat als die eigentliche Zahl

Desweitern möchte ich auf eure Vorschläge eingehen. Erstmal wird ein neuer Integer erzeugt dessen Objekt n ist wenn ich das richtig verstanden habe. Aber was genau macht String str = n.toString(); ? Wandelt er hier den Integer in ein String um? Und warum lege ich jetzt fest, dass a die Länge des strings ist? Also was bringt mir das? str.charAt(i) zeigt mir den iten Wert in einem String aber wie vergleiche ich das jetzt genau mit den andere?
 
S

SlaterB

Gast
soviele Fragen, die sich zum Teil schon durch die nächsten von selbst beantworten,

der String wird Zeichen für Zeichen durchlaufen, das sind die einzelnen Ziffern, dafür braucht man die Länge, damit die for-Schleife korrekt endet,
dafür muss die Zahl natürlich erstmal ein String sein, deswegen die Umwandlung,
wurde ja auch schon geschrieben

schau dir jeden Wert b an, und was kommt raus wenn man 48 abzieht? was liefer charAt() überhaupt, was ist ein char?
welchen int-Wert hat ein char 'a', ein char '?', ein char '4'?
alles nachlesen oder im Programm ausprobieren

ASCII-Tabelle
 

Michael...

Top Contributor
Wobei ich nicht wirklich verstehe wieso er -48 abziehen muss bzw warum er bei dieser Methode +48 hat als die eigentliche Zahl
Weil die Methode mit den chars des Strings arbeitet (vgl. ASCII Tabelle) 49 = 1, 50 = 2, 51 = 3...
Aber was genau macht String str = n.toString(); ? Wandelt er hier den Integer in ein String um?
Vgl. API Doku Integer Methode toString()
Returns a String object representing this Integer's value.
Und warum lege ich jetzt fest, dass a die Länge des strings ist?
Weil man es kann ;-) und weil a später als Grenze in der folgenden for Schleife genutzt wird mir der man die einzelnen Buchstaben des Strings "herauslöst".
Also was bringt mir das? str.charAt(i) zeigt mir den iten Wert in einem String aber wie vergleiche ich das jetzt genau mit den andere?
Der aktuell "gößte" Buchstabe wird in
Code:
c
zwischengespeichert und in der Schleife wird immer der aktuelle Buchstabe mit dem aktuell größten Buchstabe verglichen.
 
schau dir jeden Wert b an, und was kommt raus wenn man 48 abzieht? was liefer charAt() überhaupt, was ist ein char?
welchen int-Wert hat ein char 'a', ein char '?', ein char '4'?
alles nachlesen oder im Programm ausprobieren

ASCII-Tabelle

Ok ich habe jetzt verstanden woher die -48 her kommt. Ein char sind doch Zeichen die als ASCII Code dargestellt werden.
Aber wie meinst du das jetzt mit welcher int-Wert hat ein char a etc? Wie könnte ich das den als java code schreben das er mir die ASCII Tabelle ausspuckt?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Gleichzeitiges ersetzen mehrerer Strings Java Basics - Anfänger-Themen 7
R Datentypen Das Verhalten von Strings als Datentypen Java Basics - Anfänger-Themen 7
N Nachkommastellen von Strings Java Basics - Anfänger-Themen 3
T Strings unveränderlich???? Java Basics - Anfänger-Themen 22
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
S Die durchschnittliche Länge der Strings Java Basics - Anfänger-Themen 11
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
D Strings aus Excel-Datei einlesen Java Basics - Anfänger-Themen 2
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
sserio StringBuilder und Strings Java Basics - Anfänger-Themen 8
J Größe eines Strings in Pixel Java Basics - Anfänger-Themen 18
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
N Strings verpflechten Java Basics - Anfänger-Themen 4
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
L Strings aneinanderhängen Java Basics - Anfänger-Themen 2
M Strings vergleichen Java Basics - Anfänger-Themen 10
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
S 2 Strings mit Equals vergleichen Java Basics - Anfänger-Themen 11
Q Besitzen zwei Strings identische Buchstaben, nur in anderer Reihenfolge? Java Basics - Anfänger-Themen 10
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
C Ternärer Operator mit Strings Java Basics - Anfänger-Themen 3
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
P Verketten, Aneinanderreihen von Strings Java Basics - Anfänger-Themen 2
M Strings mit gerader und ungerader Länge ausgeben Java Basics - Anfänger-Themen 10
J Alle Werte eines Strings zusammen addieren Java Basics - Anfänger-Themen 15
W Strings und das parsen Java Basics - Anfänger-Themen 8
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
D Vergleichen von Strings Java Basics - Anfänger-Themen 6
M Konkatenation von zwei Strings Java Basics - Anfänger-Themen 6
J Abbruchbedingung in Schleife/ Untersuchung von Strings Java Basics - Anfänger-Themen 2
S Buchstaben in Großbuchstaben (Strings) Java Basics - Anfänger-Themen 5
X Anagramm mit Strings und Methode Java Basics - Anfänger-Themen 53
P geschachtelte Schleife mit Strings Java Basics - Anfänger-Themen 2
P Strings mit der Axt zerteilen Java Basics - Anfänger-Themen 7
F Alle Zeichenkombinationen eines Strings iterativ herausfinden Java Basics - Anfänger-Themen 26
K Strings hochzählen Java Basics - Anfänger-Themen 20
J Strings untereinander in einer Liste vergleichen Java Basics - Anfänger-Themen 18
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
F Vergleiche mit charAt funktioniert bei Strings nicht, was tun? Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
J Unveränderbarkeit von Strings Java Basics - Anfänger-Themen 3
O Klammerung bei Strings Java Basics - Anfänger-Themen 10
A Liste aus drei Strings erstellen Java Basics - Anfänger-Themen 5
N Zwei Strings mit "==" vergleichen warum TRUE Java Basics - Anfänger-Themen 2
G Teil(e) eines Strings entfernen wenn spezifische Zeichen (< & >) vorkommen Java Basics - Anfänger-Themen 5
D ergebnis.matches("[1-9]?[0-9].[0-9][0-9]?") ein teil eines größeren Strings Java Basics - Anfänger-Themen 12
J Breite eines Strings bestimmen Java Basics - Anfänger-Themen 4
D Zwei Strings sind gleich bei if aber nicht true Java Basics - Anfänger-Themen 2
F JList Elemente mit Strings vergleichen Java Basics - Anfänger-Themen 12
J Strings sind gleich werden aber ungleich ausgewertet Java Basics - Anfänger-Themen 2
N Vergleich von Strings schlägt fehl.. Java Basics - Anfänger-Themen 5
B 4 Strings, Anfangsbuchstaben muss unterschiedlich sein Java Basics - Anfänger-Themen 12
P Strings in String Array schreiben Java Basics - Anfänger-Themen 13
J Input/Output Strings aneinander reihen mit while schleife Java Basics - Anfänger-Themen 25
B mir nur die Gesamtzahl von einzigartigen Strings aus Array ausgeben lassen Java Basics - Anfänger-Themen 5
R Erste Schritte Sicheres einlesen eines Strings Java Basics - Anfänger-Themen 2
F Maximale Länge eines Strings Java Basics - Anfänger-Themen 5
J Best Practice Datum Differenz aus zwei Strings ermitteln Java Basics - Anfänger-Themen 8
Jinnai4 Strings ersetzen Java Basics - Anfänger-Themen 9
R Übergeben eines Array Strings an einen Spinner Java Basics - Anfänger-Themen 4
L Rekursiv zwei Strings vergleichen Java Basics - Anfänger-Themen 3
L Prüfe, ob die im String Array enthaltenen Strings aufsteigend sind. Java Basics - Anfänger-Themen 19
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
DaCrazyJavaExpert Variablen Zahlen aus Strings auslesen Java Basics - Anfänger-Themen 4
C 2 Strings Java Basics - Anfänger-Themen 15
T befehle unterschiedlicher anzahl an strings wiedergeben Java Basics - Anfänger-Themen 2
JavaNewbie2.0 Strings in andere Klassen importieren. Java Basics - Anfänger-Themen 2
D BlueJ Java: Strings voneinander trennen Java Basics - Anfänger-Themen 11
javaerd Wie kann ich Brute Force Methode mit Strings erweitern Java Basics - Anfänger-Themen 1
R Erste Schritte Strings "einrücken" Java Basics - Anfänger-Themen 3
Yamie ArrayList<Object> als Liste von Strings ausgeben? Java Basics - Anfänger-Themen 15
B gemeinsames Vorkommen der charactere von 2 Strings als String zurückgeben Java Basics - Anfänger-Themen 5
R Teilinhalt eines Strings testen Java Basics - Anfänger-Themen 10
H Erste Schritte JTree: Instanzen einer Klasse speichern oder Namen/Strings... Java Basics - Anfänger-Themen 4
L Werte von Strings ? Java Basics - Anfänger-Themen 1
L Strings und Arrays - Expand Java Basics - Anfänger-Themen 12
I Schachbrett aus beliebigen Strings erstellen Java Basics - Anfänger-Themen 3
Syncopated Pandemonium Verketten von Strings funktioniert nicht Java Basics - Anfänger-Themen 4
F Wahrscheinlichkeit von Strings Java Basics - Anfänger-Themen 3
MiMa Splitten eines Strings Java Basics - Anfänger-Themen 5
T Hashfunktion für Strings Java Basics - Anfänger-Themen 3
C Zeilenumbruch für langes Strings Java Basics - Anfänger-Themen 2
J Variablen Strings mit Zeilenumbrüchen in neues Array Element Java Basics - Anfänger-Themen 1
T Datentypen compareTo() u. equals() bei Strings Java Basics - Anfänger-Themen 3
H Strings vergleichen & sortieren Java Basics - Anfänger-Themen 20
H Erste Schritte Längstes Wort eines Strings herausfinden Java Basics - Anfänger-Themen 7
D Problem beim umwandeln eines Strings in eine Dzezimalzahl Java Basics - Anfänger-Themen 6
G Strings mit Scanner (nextLine) einlesen Java Basics - Anfänger-Themen 7
T Strings ersetzen mit \ Java Basics - Anfänger-Themen 10
K Strings bearbeiten Java Basics - Anfänger-Themen 14
N Bestimmte Zeichen eines Strings umwandeln Java Basics - Anfänger-Themen 4
L Java Strings Buchstaben vertauschen Java Basics - Anfänger-Themen 4
L Strings in einem JOptionPane farbig Java Basics - Anfänger-Themen 2
A Wie bekomme ich zwei Strings in eine ArrayList Java Basics - Anfänger-Themen 4
C Chars eines Strings mit for schleife rückwärts auslesen Java Basics - Anfänger-Themen 8
J Buchstabe (char) an zufällige Position eines Strings einfügen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben