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;
}
}
}
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?
Zum ersten: Man muss genau hinschauen 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());```
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!
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