In einer Klasse, habe ich eine Methode haben:Ich <Identifier> immer erwartet Fehler
public void initalizeElements()
{
//does some stuff
}
Also dann in einer anderen Klasse versuche ich:
Molecules mol = new Molecules();
mol.initalizeElements();
und ich erhalte eine Fehlermeldung in der zweiten Zeile sagen "erwartet".
Ich fühle mich wie das ist wirklich einfach und ich schaue nur über etwas einfaches, aber ich kann es immer noch nicht herausfinden. Und bevor jemand es sagt, ja, ich habe mir Hunderte andere Fragen angesehen, die dieselbe Frage haben wie ich. Aber keiner von ihnen schien mir zu helfen.
Voll Code:
package mymolecules;
public class Molecules
{
public String[] elements = new String[35];
private int lazyCounter = 0;
public void initalizeElements()
{
elements[lazyCounter] = "H";
lazyCounter += 1;
elements[lazyCounter] = "He";
lazyCounter += 1;
elements[lazyCounter] = "Li";
lazyCounter += 1;
elements[lazyCounter] = "Be";
lazyCounter += 1;
elements[lazyCounter] = "B";
lazyCounter += 1;
elements[lazyCounter] = "C";
lazyCounter += 1;
elements[lazyCounter] = "N";
lazyCounter += 1;
elements[lazyCounter] = "O";
lazyCounter += 1;
elements[lazyCounter] = "F";
lazyCounter += 1;
elements[lazyCounter] = "Ne";
lazyCounter += 1;
elements[lazyCounter] = "Na";
lazyCounter += 1;
elements[lazyCounter] = "Mg";
lazyCounter += 1;
elements[lazyCounter] = "Al";
lazyCounter += 1;
elements[lazyCounter] = "Si";
lazyCounter += 1;
elements[lazyCounter] = "P";
....
....
//on so on for the hole periodic table
}
}
und
package mymolecules;
public class Parser
{
private String conString = "";
private int conInt = 0;
private int indexer = 0;
private int lazyCounter = 0;
private String sortList = "";
private int sortCount = 0;
Molecules mol = new Molecules();
mol.initalizeElements();
private String formula;
public Parser(String Formula)
{
this.formula = Formula;
}
public void Sort()
{
while (lazyCounter > 34)
{
try {
if (formula.contains(mol.elements[lazyCounter])) //Does the String contain the letter "H"
{
indexer = formula.indexOf(mol.elements[lazyCounter]); //indexer = where in the String "H" is located.
if (formula.substring(indexer+1,indexer+2).matches("e")) //if "e" is located right after "H"
{
//System.out.println("Skip"); //Skipping because we'll deal with it later
}
else
{
if (formula.substring(indexer+1,indexer+2).matches("[1-999].*")) // if any number is located after H
{
conString = formula.substring(indexer+1,indexer+2); //Take the number after "H" and put it in conString
conInt = Integer.parseInt(conString); //conInt = ConString as an Integer
System.out.println("H"+conInt); //Print out "H" and the number
}
else
{
System.out.println(mol.elements[lazyCounter]);
}
}
}
}
catch (java.lang.StringIndexOutOfBoundsException e) //Catches the error from earlier
{
System.out.println("Whew caught an error!"); //rest of this is self explanitory.
System.out.println(mol.elements[lazyCounter]);
}
lazyCounter += 1;
}
}
}
Dieser Ausschnitt sieht gut aus. Kannst du bitte etwas mehr Kontext teilen? – Mureinik
ist 'mol.initalisizeElements();' in einer Methode? – Reimeus
@Mureinik sure 1 sec – KiwiNinja