![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Jr. Member
![]() Registriert seit: 01.04.2001
Alter: 41
Beiträge: 59
|
![]() hallo!
ich habe ein problem bei folgender aufgabe: ich soll die koordinatenpaare eines vielecks als string einlesen, die folgenden aufbau haben: "(x,y)" wobei x und y Zahlen sind der datensatz wird durch "=" abgeschlossen also ich weiß wie man einen string einliest und dann die einzelnen zeichen ausliest -> damit könnte ich ja schon einmal die zahlen herausfiltern (ich hoffe dieser gedankengang von mir ist richtig - bin nämlich noch programmieranfänger!) nur wie speichere ich die zahlen dann um mit ihnen rechnen zu können - geht das vielleicht mit einem array? bin um jeden vorschlag dankbar! mfg poison |
![]() |
![]() |
![]() |
#2 |
Elite
![]() Registriert seit: 18.10.2000
Beiträge: 1.469
|
![]() angenommen x ist 145, dann liest du als string ein: 1 - 4 - 5
eine vorher angelegte INT-Variable zB "xkoor" xkoor=1 xkoor=xkoor*10+4 xkoor=xkoor*10+5 [damit ist xkoor das 145...] mit der ykoor machst es dann genauso dann übernimmst immer xkoor und ykoor in die nächste Zeile des Arrays... Problem gelöst?
____________________________________
Science is like sex ... sometimes something useful comes out... BUT THATS NOT THE REASON WHY WE ARE DOING IT!!! |
![]() |
![]() |
![]() |
#3 |
Quantensingularität
![]() |
![]() Schaue dir mal die klasse java.awt.Point an, die beschreibt an sich eine koordinate im awt. entweder du kannst diese verwenden, oder du schreibst dir eine eigene klasse die die koordinaten so darstellt, wie du sie brauchst, bzw wenn du damit rechen willst, wird dir sowiseo nichts übrigbleiben als eine eigene klasse und die rechnungsarten al methoden zu implementieren.
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
#4 |
Jr. Member
![]() Registriert seit: 01.04.2001
Alter: 41
Beiträge: 59
|
![]() also ich habe jetzt versucht die zahlen mittels StringTokenizer herauszufiltern aber irgendwo gibt es ein problem...
Code:
import eprog.*; public class Konvneck extends EprogIO { public static void main (String[] args) { String Eingabe = ""; do { Eingabe = readWord(); StringTokenizer konvertiert = new StringTokenizer (Eingabe, '(', ',', ')'); println (konvertiert); while (konvertiert.hasMoreTokens()) { System.out.println(konvertiert.nextToken()); } } while (!(Eingabe.endsWith("="))); } } ![]() was mache ich falsch? mfg poison |
![]() |
![]() |
![]() |
#5 |
Quantensingularität
![]() |
![]() Der String Tokenizer kennt nur einen Delimiter. Du versuchst ihm 3 mitzugenen. Wenn die Eingabe immer (y,y) aussieht dann, entferne den 1. und letzte char. Dan gehts mit einen Stringtokenizer mit delimiter ",". Ausserdem braucht der Tokenizer einen String als Delimiter, keinen char (" " statt ' ').
Ich würde es aber komplett anders machen: mit toCharArray in eine char Array umwandeln und dann mit Charakter.isDigit() die Zahlen rausparsen. Eventuell kannst mit indexOf(',') den String vorher noch teilen.
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
#6 |
Jr. Member
![]() Registriert seit: 01.04.2001
Alter: 41
Beiträge: 59
|
![]() Code:
import eprog.*; import java.util.*; public class Konvneck extends EprogIO { public static void main (String[] args) { String Eingabe = ""; do { Eingabe = readWord(); char Zahlen[] = Eingabe.toCharArray(); if (Charakter.isDigit()) {} } while (!(Eingabe.endsWith("="))); } } wie bekomme ich da die zahlen heraus? danke auf jeden fall schon mal für deine hilfe! ![]() mfg poison |
![]() |
![]() |
![]() |
#7 |
Quantensingularität
![]() |
![]() array durchiterien (mit for oder while schleife (wenn char zahl ist diese wegspeichern (zB. in StringBuffer), wenn wieder kein digit mehr ist -> diese mit Integer.parseInt(StringBuffer.toString()) in int umwandeln.
2. Möglichkeit mit indexOf('(') und indexOf(',') und indexOf(')') und der substring Methode von String die Zahlen rausholen. 1.Möglichkeit ist etwas komplizierter, dafür funktinoniert sie mit allen Zahlen in einen String, egal was sonst noch drinnen steht. 2.Möglichkeit ist einfacher, dafür funktiniert sie nur, wenn der String (x,y) aussieht.
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
#8 |
Jr. Member
![]() Registriert seit: 01.04.2001
Alter: 41
Beiträge: 59
|
![]() guten morgen!
also ich bekomme noch eine fehlermeldung wenn ich folgenden code versuche zu kompilieren: Konvneck.java [27:1] isDigit(char) in java.lang.Character cannot be applied to (char[]) if ( (Character.isDigit(Zeichen)) ) // Soll überprüfen ob Zeichen eine Zahl ist ^ 1 error Errors compiling Konvneck. ich verstehe die ausgabe nicht ganz - was muss ich ändern? Code:
import eprog.*; public class Konvneck extends EprogIO { public static void main (String[] args) { String Eingabe = ""; float Laenge = 0; do { Eingabe = readWord(); char Zeichen[] = Eingabe.toCharArray(); for (int i = 0; i <= Zeichen.length; i++) { if ( (Character.isDigit(Zeichen)) ) // Soll überprüfen ob Zeichen eine Zahl ist { println (Zeichen); } } } while (!(Eingabe.endsWith("="))); } } |
![]() |
![]() |
![]() |
#9 |
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
![]() Ich glaube da gehört statt:
Character.isDigit(Zeichen)) Character.isDigit(Zeichen[i])) <edit> Daher auch die Fehlermeldung: du versuchst die Funktion "isDigit" auf ein Array of char anzuwenden, nicht auf ein einzelnes char. </edit> Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
![]() |
![]() |
![]() |
#10 |
Quantensingularität
![]() |
![]() genau dass isses
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|