[Erledigt] Flaechenberechnen

Hi,

ich bin jetzt beim Thema OOP und habe ein Programm geschrieben mit dem man Umfang und Fläche von einem Rechteck berechnen kann. Ich wollte jetzt fragen ob mein Programm ok ist, oder ob man es an einigen Stellen verbessern kann/sollte. Vieleicht kann man die main() Methode besser schreiben? Falls ja, wie?

Eine Frage hätte ich noch, wo ist der Unterschied zwischen valueOf und parseDouble? Ich kann mit beiden Methoden mein String umwandeln.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class OOPFlachenberechnung {

	public static void main(String[] args) throws IOException {
		
		System.out.println("Flaechenberechnung");
		//Eingabe
		BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
		System.out.println("Bitte Seite A eingeben: ");
		Double a =  Double.parseDouble(eingabe.readLine());
		System.out.println("Bitte Seite B eingeben: ");
		Double b =  Double.parseDouble(eingabe.readLine());
				
		Rechteck rechteck = new Rechteck();
		//Ausgabe
		rechteck.setUmfang(a, b);
		System.out.println("Der Umfang beträgt: "+rechteck.getUmfang());
		rechteck.setFlaeche(a, b);
		System.out.println("Die Fleache beträgt: "+rechteck.getFlaeche());
		if(rechteck.isQuadrat())
		{
			System.out.println("Das ist ein Quadrat.");
		}
		else
		{
			System.out.println("Das ist kein Quadrat.");
		}
	}

}

class Rechteck{
	double seiteA, seiteB;
	
	void setUmfang(double seiteA, double seiteB){
		this.seiteA = seiteA;
		this.seiteB = seiteB;
	}
	
	double getUmfang(){
		return 2*seiteA + 2*seiteA;
	}
	
	void setFlaeche(double seiteA, double seiteB){
		this.seiteA = seiteA;
		this.seiteB = seiteB;
	}
	
	double getFlaeche(){
		return seiteA * seiteB;
	}
	
	boolean isQuadrat(){
		if(seiteA==seiteB){
			return true;
		}
		else
		{
			return false;
		}
	}
}

die beiden Methoden haben keinen Unterschied eine ruft glaube auch die Andere auf weiß aber jetzt nicht welche

ok, und wegen meinem Programm, ist es ok so? Dass ich BufferedReader und InputStreamReader dort verwendet habe, war das ok, oder sollte man für eine Eingabe irgendwas anderes nehmen?

joa das ist ok

Ok, danke. Freut mich :smiley: . Meine erste Erfolge in der OOP.

Zum ersten: Man muss genau hinschauen :wink: valueOf liefert einen Double zurück, parseDouble ein double. Das wichtige hier ist die Groß- und kleinschreibung. Double ist die Wrapperklasse zu double - dazu hab ich im Java-Forum mel einen FAQ-Beitrag geschrieben. Ich hab den eben auch ins [Wiki](http://wiki.coding-community.net/wiki/Primitivtypen und Wrapperklassen) kopiert. Demnach benötigt man normalerweise parseDouble.

Zum Zweiten: Das ist schon ok, einfacher geht es allerdings mit java.util.Scanner. Beispiel:

        //...
        System.out.println("Bitte Seite A eingeben: ");
        Double a =  Double.parseDouble(eingabe.nextLine());
        System.out.println("Bitte Seite B eingeben: ");
        Double b =  Double.parseDouble(eingabe.nextLine());```
        if(seiteA==seiteB){
            return true;
        }
        else
        {
            return false;
        }
    }```
kann man auch einfach
``` boolean isQuadrat(){
        return seiteA==seiteB;
    }```
schreiben

Danke

Moin, moin!
Ich beschäftige mich seit kurzem mehr oder weniger zwangsweise mit JSP, da es für meinen jetztigen Ferialjob erforderlich ist.
Ich beherrsche allerdings bisher nur PHP als serverseitige Scriptsprache.
Ich soll ein Bestellformular für Werbeartikel programmieren von dem aus die Daten in eine Datenbank eingetragen werden sollen. (Wenn möglich auch noch per E-Mail an mind. 2 verschiedene Absender versendet werden)
Ich hab jetzt schon gegoogelt aber nichts gefunden was mich weiterbringen würde.
Deshalb müsste ich wissen wie ich mit JSP auf eine OpenDocument-Datenbank (OpenOffice.org - Base) zugreifen kann. Access habe ich leider nicht verfügbar!

Kann mir da jemand weiterhelfen? :frowning:

da die frage auch wo anders gestellt wurde kopier ich mal die dortige antwort

das .odb-Format ist eine zip(jar)-Datei, d.h. die enthaltene Datenbank liegt darin in komprimierter Form. Du könntest versuchen die .odb zu entpacken und mit dem HSQLDB-Treiber darauf zuzugreifen. Die HSQLDB ist, glaub ich, die intern verwendete standardm. Datenbank.
Allerdings kann die .odb auch nur Informationen über eine benutzte externe Datenbank enthalten - also müssen in der .odb gar keine Daten drin sein.

Wie ich dir schonmal geschrieben hatte geht das auf jeden Fall mit HSQLDB du kannst aber auch zb MySQL oder andere Datenbanken benutzen.
Wenn du MySQL benutzen willst musst du dir den MySQL Connector von MySQL laden und meines Wissens kann man bei einem Tomcat (worin die JSP Seiten zb laufen) einen Connection Pool einrichten worüber man dann halt die Verbindung zur DB bekommen kann
Ansonsten kannst du vielleicht auch direkt selbst eine aufbauen was aber auch ne kleiner Geschwindigkeitsverlust ist.
Wenn du HSQLDB benutzen willst müsstest du das als Server einrichten was aber wenn ich mich an die Doku erinnere nicht sehr schwer sein sollte, außerdem erfüllt es im großen auch die SQL Standards