Welcome, guest! Login / Register - Why register?
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

Your Name: Code Language: