Bitte sagen Sie mir, ob es eine Möglichkeit gibt, einen Punkt in einem 2D-Diagramm mit (x, y) Koordinaten zu zeichnen, indem man einen String ableitet (oder sagen kann) Objekt in numerische Werte für 'x' und 'y'. Beispiel: Ich habe eine Zeichenfolge "abcd". Dies muss als ein Punkt in einem euklidischen Graphen dargestellt werden. Bevorzugte Sprache ist Java.Darstellen eines String-Objekts als Punkt in einem euklidischen 2D-Diagramm
Antwort
Ja, es gibt mindestens eine Möglichkeit, dies zu tun.
Dinge für Werte zu verwenden:
- Hash der Zeichenfolge
- Länge der Saite
- numerische Addition aller Zeichen
- [einige mathematische Funktion] aller Zeichen
Verwenden Sie eine von ihnen für x und die andere für y. Da gehst du.
Sie könnten versuchen, die Zeichenfolge einem Spam-Filter (x = Spamminess) und etwas, das eine Lesbarkeitsbewertung basierend auf lexikalischen und grammatikalischen Komplexität (y = Lesbarkeit) ergibt, zuzuführen. Oder schreiben Sie etwas, das die StackOverflow-API verwendet, um es als Frage oder Antwort zu senden und grafisch darzustellen, wie viele Upvotes es erhält.
Versuchen Sie auch, die Zeichenfolge selbst als ein Programm zu bewerten - plotten Sie eine 0, wenn sie endet, und eine 1, wenn dies nicht der Fall ist (Sie müssen möglicherweise eine Weile warten, um dieses Ergebnis zu bestimmen).
Das ist viel zu vage um zu antworten. Sie könnten es zuordnen, indem Sie einen beliebigen Hash-Code (z. B. "text.hashCode()") verwenden und diesen als "x" -Wert verwenden, wobei y = 0 für alle Zeichenfolgen ist. Vermutlich wäre das * nicht gut genug für Sie - aber es erfüllt alle Anforderungen, die Sie tatsächlich * spezifiziert * haben. –
Was versuchen Sie zu erreichen? Was ist das zugrunde liegende Problem, das Sie versuchen zu lösen? – biziclop
@JonSkeet Verkomplizieren Sie es nicht, x = 0 und y = 0 für jede Zeichenfolge funktioniert genauso gut :) – biziclop