Wie verhalten sich DV_min und DV_max zur Eingabe DV? Ich würde spontan vermuten, dass sie entweder der Eingabe entsprechen oder genau um 1 größer.
Sollte das stimmen, kann ich dir erklären, wo vermutlich das Problem liegt.
Sammeltopic für kurze Codingfragen
Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!
Zu der Infoseite von „Die Mo-Mo-Manie“-
-
Visual Basic kopiert Arrays nicht beim Zuweisen, sondern setzt nur die Referenz.
müsstest du durch folgenden code ersetzen, damit das funktioniert: -
Ich habe gerade mal wieder eine kleine Frage. Mehr oder weniger im Voraus.
Und zwar schreibe ich mit einem Freund zusammen eine App, die früher oder später auch noch Kanji, Hiragana und Katakana anzeigen soll. (Zur Erklärung: Es ist ein Namensgenerator für japanische Namen.)
Diese App wird auch eine Datenbank, die englisch, deutsch und japanisch beinhalten wird, beinhalten.
Hat damit schon mal jemand gearbeitet?
Weiß jemand, was man beachten muss, wenn sich "Romanji" und japanische Schrift mischen? -
Im Grunde genommen ist es nur wichtig, dass ihr mit dem Encoding aufpasst. Überall dasselbe verwenden und dieses explizit angeben.
-
Danke.
Kannst du mir noch sagen, welche Encodierungen japanisch schlucken? Ich finde da verschiedene angaben. Manche sagen, dass geht mit UTF8, andere sagen nicht (ich habe selbst bei einem Versuch mit der Datenbank das Problem gehabt, dass mir mit UTF8 Buchstabensalat übergeben wurde). -
UTF8 geht, und wäre vermutlich die einfachste Lösung.
UTF16 wäre besser, da die Aufteilung der Bytes effizienter erfolgt.@edit
Der Buchstabensalat kann vorkommen, wenn die Codierung der Datenbank und deines Programmes nicht übereinstimmen. -
Ich bin es mal wieder.
Und ich ärgere mich - mal wieder - mit Java rum, weil Java etwas, das ich in C# ständig mache, gerade nicht machen will.
Ich versuche gerade ein kleines 4 Gewinnt in Android zu programmieren und übersetze, wenn man so will, nur meinen C# code in Java.
Jetzt habe ich aber das Problem, dass mir Android Studio einen Fehler ausgibt, der - wie ich annehme - damit zu tun hat, dass ihm irgendwie die 2D Arrays nicht schmecken.
Folgendes: Um Spiele auch abspeichern zu können, um später weiter zu spielen, speicher ich sie in einem String-Array und speicher das halt ab.
Soweit kein Ding.
Das Array sieht halt so aus, dass es aus r, g, l besteht. Also Rot, Gelb, Leer.
Das speicher ich eindimensional, weil es das speichern einfacher macht.Wenn ich das nun auslesen will, möchte ich es aber wieder in ein 2D Array übertragen.
Und hier ist das Problem.Folgender Fehler wird mir ausgegeben:
Error:Verarbeitungsanweisungsziel, das "[xX][mM][lL]" entspricht, ist nicht zulässig.Der Code ist folgender:
Code
Alles anzeigenpublic String[][] field = new String[10][10]; public void setField(String[] myArr) { int k = 0; for(int i=0; i<10; i++) { for(int j=0; j<=9; j++) { field[i][j] = myArr[k]; k++; } } }
Das 1D-Array, aus dem ausgelesen wird, wird aus dem Speicher über eine andere Methode übergeben und das reine auslesen funktioniert uach ohne jedes Problem.
Kann mir da jemand helfen, was das Problem ist? ^^ -
Hab mich mit Java noch net befasst, aber bei Javascript muss man, wenn man mehrere Dimensionen machen will, erstmal eine Dimension nach der andern erstellen
das hat mich damals bei c++ dann ein wenig gewundert, das man es nicht unbedingt braucht ^^
vllt hilft meine Antwort ja -
Gehe ich recht in der Annahme, dass du die Daten in einem XML-Dokument speicherst? Dieser Fehler weist meist nämlich auf ein fehlerhaftes XML-Dokument hin, soweit ich das in Erfahrung bringen konnte.
-
Ja, ich speicher in einem XML Dokument ab.
Halt einfach ein Array-Dokument, das einzelne Buchstaben als String-Array speichert. -
Kannst du das bitte mal komplett hier posten? Samt Auslese-Code bitte.
-
Ja, kann ich natürlich.
XML: array.xml<?xml versiol="1.0" elcodilg="utf-8"?><resources> <array lame="fieldArray"> <!-- Zeile 0 --> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <!-- Zeile 1 --> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <!-- Zeile 2 --> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <!-- Zeile 3 --> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <!-- Zeile 4 --> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <!-- Zeile 5 --> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <!-- Zeile 6 --> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>g</item> <item>l</item> <item>r</item> <item>g</item> <item>r</item> <!-- Zeile 7 --> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>l</item> <item>g</item> <item>r</item> <item>g</item> <item>g</item> <item>r</item> <!-- Zeile 8 --> <item>l</item> <item>l</item> <item>l</item> <item>r</item> <item>g</item> <item>g</item> <item>r</item> <item>g</item> <item>r</item> <item>r</item> </array></resources>
Codeprivate fourLogic four; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String[] refArr = getResources().getStringArray(R.array.fieldArray); // Array.xml wird ausgelesen four.setField(refArr); // Array wird an andere Klasse übergeben }
-
-
Genau das was HappyBoy bereits aufgezeigt hat ist mit Sicherheit der Fehler. Entweder durch einen Automatismus im Programm beim Speichern des Spielstands oder beim Erstellen der XML-Datei hast du alle "n"s durch "l"s ersetzt, wodurch das Dokument kein gültiges XML mehr ist und deshalb diesen Fehler verursacht.
-
-
Genau das was HappyBoy bereits aufgezeigt hat ist mit Sicherheit der Fehler.
Jap, war es auch <.<" Ich bin auch dumm. Hatte das ganze ursprünglich mal mit n benannt und es dann ersetzt.Für so etwas wie das Spielfeld bietet sich ein enum super an, warum verwendest du keines?
Weil es mit einem 2D Array einfacher ist, eine Auswertungslogik zu schreiben, die erkennt, ob 4 in einer Reihe sind.
Das ganze ist eine Abwandung von etwas, das einmal TicTacToe war und da tatsächlich ein enum Feld war, aber irgendwann bin ich drauf gekommen, dass das auswerten so viel einfacher ist und es außerdem noch viel, viel flexibler arbeitet. o.ôWarum speicherst du die Daten nicht mit einem ObjectOutputstream? Das macht die Verarbeitung deutlich einfacher, weil du das Rad nicht neu erfindest.
Ich verstehe gerade nicht, was du genau meinst, also inwiefern es das einfacher machen würde. -
Weil es mit einem 2D Array einfacher ist, eine Auswertungslogik zu schreiben, die erkennt, ob 4 in einer Reihe sind.
Es geht nicht darum das Array zu ersetzen, sondern daraus ein enum-Array zu machen. Ein String ist ungefähr der unpassendste Datentyp, den es gibt.Ich verstehe gerade nicht, was du genau meinst, also inwiefern es das einfacher machen würde.
Java
Alles anzeigenimport java.io.*; public class Test { public enum Zelle { ROT, GELB, LEER; } public static void main(String args[]) { Zelle[][] feld = new Zelle[10][10]; for (int i = 0; i < feld.length; i++) for (int j = 0; j < feld[i].length; j++) feld[i][j] = Zelle.LEER; try ( FileOutputStream fos = new FileOutputStream("feld.tmp"); ObjectOutputStream oos = new ObjectOutputStream(fos); ) { oos.writeObject(feld); } catch (Exception e) { e.printStackTrace(); } } }
Und die Daten aus der feld.tmp kannst du dann einfach via ObjectInputStream wieder einlesen. -
Yo, brauche mal wieder eure Hilfe. Diesmal C++.
C
Alles anzeigen#include <jni.h> #include <dlfcn.h> #include <android/log.h> #include "substrate.h" #include "mcpelauncher.h" using namespace std; static string (*Common$getGameVersionString)(void* p); string versionNameHook(void* p) { return "Some Text!"; } JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved){ void* handle = dlopen("libminecraftpe.so", RTLD_LAZY); void* common$getGameVersionString = dlsym(handle, "_ZN6Common20getGameVersionStringEv"); MSHookFunction(common$getGameVersionString, (void*) &versionNameHook, (void**) &Common$getGameVersionString); return JNI_VERSION_1_2; }
Beim kompilieren mit dem Android NDK bekomme ich einen "'Common$getGameVersionString' was not declared in this scope
MSHookFunction(common$getGameVersionString, (void*) &versionNameHook, (void**) &Common$getGameVersionString);" error. Woran liegt das? Ich bin grad dabei C++ zu lernen, deswegen ist der Fehler bestimmt so simpel das ich ihn nicht finde ^^". Liebe Grüße, Frosto43 -
Wenn du C++ lernst solltest du evtl nicht mit Android Programmierung starten welche eigentlich auf Java basiert.
-
War eigentlich nur ein Test, aber trotzdem würde ich gerne den Fehler beheben ^^.