Avatar
jan.merunka
Člen
Avatar
jan.merunka:

Ahoj potřeboval bych poradit jak rozdělit String v javě na tokeny pomocí enumu. Níže je kod co zatím mám.
Děkuji za pomoc Jan Merunka

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.StringTokenizer;
/**
 *
 * @author Jan Merunka
 */

public class Vycisleni{

    public enum Prvky {
    H("H"), He("He"), Li("Li"), Be("Be"),O("O"), Na("Na");

    public String prvek;

    Prvky(String prvek) {
        this.prvek = prvek;
    }
    @Override
    public String toString() {
        return prvek;
    }
}
    public static void main(String[] args) {
//scanner, do kterého se píše text (rovnice)
        Scanner scan = new Scanner(System.in, "UTF-8");

//uvodní text, co napíše program při spuštění
        System.out.println("Napiš rovnici: ve tvaru aPCl3+bH20->cH3PO3+dHCl");

//text se převede do stringu
        String rovnice = scan.nextLine();

       if(rovnice.contains("+")) { //pokud platí tak se spustí celý program

//tokenizer
           StringTokenizer tokenizer = new StringTokenizer(rovnice, prvek); // rozdělí se na tokeny pomocí enumu prvky
           List<String> casti = new ArrayList<String>();

           while(tokenizer.hasMoreTokens()) {
               String token = tokenizer.nextToken();
               casti.add(token);

               System.out.println(token);
               /*
               for (int i = 0;i < token.length(); i++){
                   System.out.println(token.charAt(i));

}
  */
}








       }else{ //pokud ne tak se napíše toto
           System.out.println("Tato chemická rovnice " + rovnice + " není správně napsaná");
       }
    }
}
 
Odpovědět 21.4.2015 15:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.