Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted by Spex ( 19 years ago )
public class Main {
public static void main(String[] args) {
try {
System.out.println("Ergebnis: " + Evaluator.eval(Input.readString()));
} catch (Exception e) {
System.out.println("Es ist ein Fehler aufgetreten (" + e.getMessage() + ")");
}
}
}
============================================================
public class Evaluator {
public static Bruch eval(String str) {
if (str == null)
return null;
String parts[] = str.split("k");
if (parts.length == 2)
return Bruch.parseBruch(parts[0]).kuerzen();
parts = str.split("\+");
if (parts.length == 2)
return Bruch.parseBruch(parts[0]).add(Bruch.parseBruch(parts[1]));
parts = str.split("\-");
if (parts.length == 2)
return Bruch.parseBruch(parts[0]).sub(Bruch.parseBruch(parts[1]));
parts = str.split("\*");
if (parts.length == 2)
return Bruch.parseBruch(parts[0]).mult(Bruch.parseBruch(parts[1]));
parts = str.split("\/");
if (parts.length == 2)
return Bruch.parseBruch(parts[0]).div(Bruch.parseBruch(parts[1]));
return null;
}
}
=========================================================
public class Bruch {
private long zaehler;
private long nenner;
public Bruch(long zaehler, long nenner) {
this.zaehler = zaehler;
this.nenner = nenner;
}
public long getNenner() {
return nenner;
}
public void setNenner(long nenner) {
this.nenner = nenner;
}
public long getZaehler() {
return zaehler;
}
public void setZaehler(long zaehler) {
this.zaehler = zaehler;
}
public Bruch add(Bruch other) {
return new Bruch(other.getNenner()*getZaehler() + getNenner() * other.getZaehler(),
other.getNenner() * getNenner());
}
public Bruch sub(Bruch other) {
// TODO fill this up
return null;
}
public Bruch mult(Bruch other) {
// TODO fill this up
return null;
}
public Bruch div(Bruch other) {
// TODO fill this up
return null;
}
public Bruch kuerzen() {
// TODO fill this up
return this;
}
public String toString() {
return this.zaehler + "|" + this.nenner;
}
/**
* Sowas wie Long.parseLong(), halt nur fuer Brueche.
*/
public static Bruch parseBruch(String str) {
if (str == null)
return null;
String[] parts = str.split("\|");
if (parts.length != 2)
return null;
return new Bruch(Long.parseLong(parts[0].trim()), Long
.parseLong(parts[1].trim()));
}
}
Revise this Paste