attend EOF, trouvé '<quelque chose>'
Mon 1er post ici, donc je vais essayer de faire simple. Je suis en train de créer une parcelle de certains spectrométrie de masse de données à l'aide de la Transformation. Je voulais écrire une esquisse pour analyser des données à partir de pseudo-XML dans des tables, puis de tracer ces données sous forme de points sur les 2 axes (temps, mz) avec le troisième axe, le signal, comme la couleur du point.
À ce stade, je veux l'intrigue à la dimensions des données. Dans mes données de test c'est de 38 points dans le temps sur l'axe des x, 51 mz points sur l'axe Y et le signal allant de 0 à 12 000. Les limites d'un jeu de données réelles seront cent fois plus importantes dans chaque dimension.
Mon problème est que la largeur et la hauteur de la parcelle dépend des données et l'établissement de ces limites implique un peu de code. Dans le Traitement, vous pouvez seulement appeler size() immédiatement après void setup() donc j'ai mis tout le code de calcul en premier. Cela a jeté le titre erreur. Je ne pouvais pas contourner, alors j'ai sortie les données de trois fichiers csv et a commencé sur un 2ème esquisse pour l'importation de données et de l'intrigue. J'ai couru dans la même erreur.
L'erreur exacte est attend expressions du FOLKLORE, a trouvé ", où peut-être le premier mot sur une ligne. Il a été pour, mzTable et si, selon le code que j'ai essayé.
Voici la deuxième esquisse complète:
import java.io.*;
int debug = 1;
String target = "M1A crop.txt"; //test data
File file = new File(target);
//~ ~ ~
String folderPath = file.getParent(); //target folder path
String name = file.getName();
String mzData = folderPath + "\\" + name + " - mz data.csv" ; //CSV file to open
String signalData = folderPath + "\\" + name + " - signal data.csv" ; //CSV file to open
String summaryData = folderPath + "\\" + name + " - summary data.csv" ; //CSV file to open
Table mzTable = new Table();
Table signalTable = new Table();
Table summaryTable = new Table();
mzTable = loadTable(mzData, "header");
signalTable = loadTable(signalData, "header");
summaryTable = loadTable(summaryData, "header");
int timeMin = summaryTable.getInt(0, "timeMin");
int timeMax = summaryTable.getInt(0, "timeMax");
int mzMin = summaryTable.getInt(0, "mzMin");
int mzMax = summaryTable.getInt(0, "mzMax");
int signalMin = summaryTable.getInt(0, "signalMin");
int signalMax = summaryTable.getInt(0, "signalMax");
width = mzTable.getColumnCount(); //this is the number of time points on the X axis
height = mzMax - mzMin; //this is the number of mz points on the Y axis
println("time Min: " + timeMin + ", Max: " + timeMax);
println("mz Min: " + mzMin + ", Max: " + mzMax);
println("signal Min: " + signalMin + ", Max: " + signalMax);
void setup() {
size(width, height);
} //end of void setup()
void draw() {
for(int x = 0; x < height; x++) {
for(int y = 0; y < width; y++) {
stroke(map(signalTable.getInt(x, y), signalMin, signalMax, 0, 255));
point(x, y);
}
}
}
La source de l'erreur est identifiée comme provenant de la ligne 19:
mzTable = loadTable(mzData, "header");
Je ne suis pas un hacker mais je peux le voir il n'y a rien de mal avec ce code. Si je commente tout de void setup (), le code s'exécute si ses quelque chose à voir avec le fait d'avoir l'importation et résumé du code en dehors de cette fonction. Si j'ai mis le mauvais code en face de lui, comme de juste ( puis-je obtenir attendent des expressions du FOLKLORE, trouvé de "pour". Quelqu'un peut me dire pourquoi?
Merci beaucoup à l'avance,
Chris
éditée pour le derp 20:20 1-5-15
edit 22:00 1-5-15
J'ai juste essayé de l'esquisse dans le Traitement de 3.0a7, qui a beaucoup plus de rapport d'erreur. Il a identifié une autre erreur à la ligne 19: erreur de Syntaxe sur les jetons, supprimer ces jetons. La recherche de cette erreur me conduire à cette question avec des suggestions d'un diagnostic.
Erreur de syntaxe sur les jetons, supprimer ces jetons
Il n'est plus XML. Je suis de l'importation des entiers à partir de fichiers csv.
OriginalL'auteur Ninja Chris | 2015-05-01
Vous devez vous connecter pour publier un commentaire.
La seule chose que vous devez avoir en haut de votre croquis sont déclarations. Vous ne pouvez pas avoir de code aléatoire comme la réaffectation et des appels à l'
println()
fonction de là-haut. Le Code tel qu'il doit être à l'intérieur d'une fonction.Par exemple, cette ligne est bien parce que c'est une déclaration:
Mais cette ligne est un no-go, parce que ce n'est pas une déclaration:
De corriger cette erreur, il suffit de les combiner en une seule déclaration en ligne:
De même, vous ne pouvez pas avoir l'appelle comme ça en dehors d'une fonction, puisqu'il n'est pas une déclaration:
De se débarrasser de ces
println()
fonctions, ou les déplacer dans le setup() de la fonction.Même avec ces lignes:
Ce ne sont pas des déclarations, de sorte qu'ils doivent être à l'intérieur d'une fonction. Peut-être essayer quelque chose comme ceci:
Bien que, à partir de la largeur et de hauteur variables, comme cela semble être une mauvaise idée, donc, au lieu de cela, vous pourriez juste le faire:
Traitement sera alors de définir la largeur et la hauteur des variables pour vous.
OriginalL'auteur Kevin Workman