ok jediný co mám je že jsem zadanou rovnici rozděli na tokeny..
public class Vycisleni {
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, "+ ->");
List<String> casti = new ArrayList<String>();
while(tokenizer.hasMoreTokens()) {
String prvek = tokenizer.nextToken();
casti.add(prvek);
System.out.println(prvek);
}
}else{ //pokud ne tak se napíše toto
System.out.println("Tato rovnice " + rovnice + " není správně napsaná");
}
}
}