grundlegende Fragen

Hasenherz

Mitglied
Hi zusammen,

ich habe vor einigen Tagen angefangen Java mithilfe eines Tutorials (Video2Brain) zu lernen. Früher (vor 30 Jahren!) habe ich Basic und Assembler (Schneider CPC) programmiert, jetzt im gediegeneren Alter (hust) reizt mich das Neue, auch wenn ich noch nicht allzu weit gekommen bin.

Ich habe mich an einem kleinen Testprogramm versucht, welches (meine Kinder mögen Minecraft) berechnet, wieviele Blöcke man für eine Pyramide mit variabler Kantenlänge benötigt. (Pyramide = Vollkörper)

Wenn ich in meinem Code Variablen definiere und Ihnen der reinen Übersicht halber direkt während der Definition Werte zuweise, welche aber im Programm nicht genutzt werden, makelt NetBeans daran herum und meint, dieser zugewiesene Wert werde nie genutzt.
Ist das schlimm (mit Blick auf 'größere' Programme) oder kann ich es getrost drinlassen (Zeilen 8-11)?

Ich habe hier im Forum in einem alten Thread eine Methode zur Eingabe einer Zahl gefunden (und die von Arthur177 geforderte Lösung bei Falscheingabe hoffentlich elegant gelöst). Ist diese Methode (Zeilen 12-15) noch aktuell oder liegt schon Staub drauf?

Das mag in den Augen Vieler trivial aussehen, aber da noch alles ziemlich neu ist beschäftigt mich das schon noch ein wenig.



Java:
import java.util.Scanner;

public class Pyramide {

    public static void main(String[] args) {

        int kanteLang = 1;
        int kanteBreit = 1;
        int kanteHoch = kanteBreit / 2;
        int blöckeGesamt = 0;
        Scanner kante;

        System.out.println("Bitte die Seitenlänge deiner Pyramide angeben: ");
        kante = new Scanner(System.in);
        if (kante.hasNextInt()) {
            kanteLang = kanteBreit = kante.nextInt();
        } else {
            System.out.println("fehlerhafte Eingabe!");
            System.exit(0);
        }

        kanteHoch = (kanteBreit + 1) / 2;

        System.out.println("Die Pyramide ist " + kanteLang + " Blöcke breit und " 
                + kanteHoch + " Ebenen hoch.");
        System.out.println("");

        for (int i = 0; kanteHoch > i; i++) {
            System.out.println("Die " + (i + 1) + ". Ebene besteht aus " +
                    ((kanteBreit - i - i) * (kanteLang - i - i)) + " Blöcken");

            blöckeGesamt = blöckeGesamt + ((kanteBreit - i - i) * (kanteLang - i - i));
        }

        System.out.println("");
        System.out.println("Die Pyramide besteht aus insgesamt " + blöckeGesamt + " Blöcken.");
    }
}
 

fLooojava

Bekanntes Mitglied
Ich bin zwar auch noch nicht vertieft in Java, jedoch hätte ich es genau gleich gemacht wie du.

Zu den Variablen - denen du direkt einen Wert zuweist: Ich nehme mal an du machst es für dich - damit du dich im Code "besser auskennst". Wieso dann nicht einfach kleine Kommentare, wenn die Werte keine Rolle spielen?

Das mit dem Scanner passt auch, solange du keine Oberfläche haben möchtest. Dann sieht das Auslesen natürlich anderst aus.

Die Abfrage ob es ein Integer ist oder nicht passt auch, schließlich macht sie das was sie machen soll ;).


Was du noch machen könntest ist bei einer falschen Eingabe einfach die Abfrage solange wiederholen bis eine richtige Eingabe dem Scanner geliefert wird.
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Mal davon Abgesehen das du nie ein Pyramiden Objekt erzeugst und die Klasse einfach nur als Einstiegspunkt dient (main Methode) ;)

Normalerweise hält genau dieses Objekt alle Informationen über sich selbst. ( also Datenfelder , auch Attribute genannt, wie u.B Höhe, Kantenlänge usw. usw.)

und du würdest z.B über einen Scanner ( in der main Methode ) nutzen, um die Daten für genau dieses Objekt einzulesen und das Objekt damit zu initialisieren.
 
Zuletzt bearbeitet:

Hasenherz

Mitglied
Ok. Ich habe jetzt eine Klasse Pyramide, in der Pyramiden-Objekte gebaut werden können.
Dafür werden aus der Main-Methode beim Erstellen Breite und Höhe mitgegeben.

Ich habe die Abfrage nach der richtigen/falschen Eingabe geändert, so dass solange gefragt wird, bis eine Zahl eingegeben wurde.

Ganz langsam wächst das Verständnis ^^

edit: Ich habe noch eine Kleinigkeit geändert doch sehe jetzt, dass ich mich mit den ganzen Variablen irgendwie verhaspelt habe :/


Main-Methode
Java:
import java.util.Scanner;

public class PyramideBauen {

    public static void main(String[] args) {

        int kanteLang = 1, kanteBreit = 1, kanteHoch = 1, flaecheInsg = 0;
        Scanner kante;
        boolean eingabe = false;

        while (!eingabe) {
            System.out.print("Bitte die Seitenlänge deiner Minecraft-Pyramide angeben: ");
            kante = new Scanner(System.in);
            if (kante.hasNextInt()) {
                kanteLang = kanteBreit = kante.nextInt();
                kanteHoch = (kanteBreit + 1) / 2;
                eingabe = true;
            } else {
                System.out.println("Fehlerhafte Eingabe! Bitte eine Zahl eingeben.");
                eingabe = false;
                //System.exit(0);
            }
        }
        Pyramide neuePyramide = new Pyramide(kanteLang, kanteHoch);
        System.out.println(neuePyramide.getStatus());

        neuePyramide.volumenRechnen(kanteLang);

    }

}

Pyramiden-Klasse
Java:
public class Pyramide {

    private int seiteL, hoeheH, gesamtB;

    public Pyramide(int seiteL, int hoeheH) {
        this.seiteL = seiteL;
        this.hoeheH = hoeheH;
    }

    public void flaecheRechnen(int seiteL) {
        gesamtB = (seiteL * seiteL);
        System.out.println("Die Fläche der Ebene ist: " + gesamtB);
    }

    public int getFlaeche() {
        return gesamtB;
    }

    public void volumenRechnen(int seiteL) {
        int flaecheInsg = 0, kanteLang = seiteL, kanteHoch = (seiteL + 1) / 2;

        for (int i = 0; i < kanteHoch; i++) {
            flaecheRechnen(kanteLang - i);
            flaecheInsg = flaecheInsg + getFlaeche();
            kanteLang = kanteLang - 1;
        }
        System.out.println("Die Gesamtzahl an Blöcken beträgt: " + flaecheInsg + " Blöcke.");

    }

    public String getStatus() {
        return "Die Pyramide ist " + seiteL + " Blöcke breit und " + hoeheH + " Ebenen hoch.";
    }

}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JSP - Bean Problem und grundlegende Fragen Java Basics - Anfänger-Themen 2
J Grundlegende Fragen Java Basics - Anfänger-Themen 2
L JavaFX - grundlegende Verständnisprobleme Java Basics - Anfänger-Themen 1
S Grundlegende Idee für GUI Java Basics - Anfänger-Themen 3
K Grundlegende Frag zu Java und OOP Java Basics - Anfänger-Themen 9
P LinkedList - Stack ... grundlegende Frage Java Basics - Anfänger-Themen 5
S Einige Grundlegende Begriffe Java Basics - Anfänger-Themen 6
L Grundlegende Verständnisfrage Hasmap Referenzen Java Basics - Anfänger-Themen 4
W Grundlegende Objektfrage Java Basics - Anfänger-Themen 5
Q Instanzvariablen implementieren - grundlegende Probleme Java Basics - Anfänger-Themen 3
S grundlegende schwierigkeiten Java Basics - Anfänger-Themen 11
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
H Fragen zu Wrapperklassen Java Basics - Anfänger-Themen 29
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
A Bei VierGewinnt fragen ob man gegen CPU oder Menschen spielen will. Java Basics - Anfänger-Themen 7
A Bei VierGewinnt vorher fragen, ob man gegen den Computer spielen möchte oder gegeneinander. Java Basics - Anfänger-Themen 1
A Bei VierGewinnt fragen, ob man gegen den Computer spielen möchte oder gegeneinander Java Basics - Anfänger-Themen 1
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12
G Fragen zu Kompelierfehler in Aufgabe. Java Basics - Anfänger-Themen 25
E Bäume/ allgemeine Fragen Java Basics - Anfänger-Themen 21
O Falsche Antworten zu Fragen Java Basics - Anfänger-Themen 4
S Diverse Fragen vor Schulaufgabe ;) Java Basics - Anfänger-Themen 4
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B fragen zu Aufbau eines UML-Klassendiagramm Java Basics - Anfänger-Themen 1
C 3 Fragen rund um Klassenattribute Java Basics - Anfänger-Themen 8
L Erste Schritte Log4J Fragen Java Basics - Anfänger-Themen 5
NeoLexx Fragen zu diversen Elementen der Javabibliothek Java Basics - Anfänger-Themen 5
D Budget Manager fragen zur Umsetzung Java Basics - Anfänger-Themen 9
N Fragen zur Datenspeicherung Java Basics - Anfänger-Themen 45
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
CT9288 Fragen zu Java Java Basics - Anfänger-Themen 16
W Fragen zu Generics Java Basics - Anfänger-Themen 14
T ObjectInput/OutputStream Fragen zur Funktionsweise Java Basics - Anfänger-Themen 3
J Fragen zu einer Methode Java Basics - Anfänger-Themen 3
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
J Fragen zu Input/Output Java Basics - Anfänger-Themen 3
J Erste Schritte Oracle Tutorials zu Java 8 - Fragen dazu Java Basics - Anfänger-Themen 1
H Java Quereinsteiger Roadmap und Fragen Java Basics - Anfänger-Themen 29
H fragen Java Basics - Anfänger-Themen 15
M Samelsarium Grundlegender Fragen 2 Java Basics - Anfänger-Themen 9
M Sammelsarium an Grundlagen Grundlagen Fragen Java Basics - Anfänger-Themen 11
B Java ist / wird kostenpflichtig. Ein paar Fragen Java Basics - Anfänger-Themen 1
J Fragen zu synrchonized und kritischen Abschnitten Java Basics - Anfänger-Themen 5
S Fragen zu einem Rechentrainer Java Basics - Anfänger-Themen 2
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
J Wo kann man Fragen zu ireport stellen. Java Basics - Anfänger-Themen 0
M Fragen zum Anlegen und Benutzen von Listen Java Basics - Anfänger-Themen 9
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
D Fragen zur Klassen Java Basics - Anfänger-Themen 4
Aprendiendo Zwei Fragen und ein geerbtes "protected"-Attribut Java Basics - Anfänger-Themen 2
J Interface Fragen bezüglich "Sauberkeit" von Code Java Basics - Anfänger-Themen 5
D Objekte-Fragen Java Basics - Anfänger-Themen 1
V Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement Java Basics - Anfänger-Themen 4
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
Azazel Ein paar Fragen zu Methodenaufrufen(java.awt) Java Basics - Anfänger-Themen 2
S Erste Schritte Fragen zur For-Schleife Java Basics - Anfänger-Themen 9
C Interface Fragen zum Interface Java Basics - Anfänger-Themen 7
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
C Fragen zum Spigot Plugin (1.8) Java Basics - Anfänger-Themen 6
J Fragen zu Exceptions Java Basics - Anfänger-Themen 24
N Quiz- Fragen zufällig anzeigen lassen Java Basics - Anfänger-Themen 7
J Verschieden Fragen über Java Programmierung Java Basics - Anfänger-Themen 3
L Viele Fragen zu den Grundlagen Java Basics - Anfänger-Themen 5
B Fragen zu ZIP-File Java Basics - Anfänger-Themen 9
L fragen zu arrays Java Basics - Anfänger-Themen 8
L Fragen zu selbstgeschriebenem Programm Java Basics - Anfänger-Themen 5
M Fragen zum Auslesen von HTML Seiten Java Basics - Anfänger-Themen 5
J Threading-Aufgabe. Totale Noob Fragen, aber bitte trotzdem beantworten ;) Java Basics - Anfänger-Themen 7
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
K Erste Schritte Frage Antwort Spiel - Fragen zur Planung Java Basics - Anfänger-Themen 2
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
Anfänger2011 2 kleine Fragen zu ArrayListen Java Basics - Anfänger-Themen 5
S Fragen zu Ausdrücken&Bedingungen Java Basics - Anfänger-Themen 5
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
V Interface ich schäme mich das zu fragen, aber ich schaff nicht ein Text zu zentrieren :( [javaFX] Java Basics - Anfänger-Themen 6
N Programm: Fragen beantworten Java Basics - Anfänger-Themen 6
C Anfänger Anfänger Fragen Java Basics - Anfänger-Themen 8
Z Compiler-Fehler LinkedList Fragen Java Basics - Anfänger-Themen 4
D Rekursion Allgemeine Fragen Java Basics - Anfänger-Themen 2
D [Fragen] zu Methoden Java Basics - Anfänger-Themen 2
S Fragen zur Implementierung eines Binärbaums Java Basics - Anfänger-Themen 3
T Ein paar Fragen zu OOP und Java. Java Basics - Anfänger-Themen 16
J Allgemeine Fragen zur GUI Java Basics - Anfänger-Themen 1
johnnydoe Erste Schritte Erster Blick - erste Fragen Java Basics - Anfänger-Themen 11
DStrohma Grundsätzliche Fragen zu Drag & Drop Java Basics - Anfänger-Themen 1
N Klassen fragen zur getter und setter methode Java Basics - Anfänger-Themen 11
S 3 Fragen, Verzeichnis, GridLayout psoitionieren, Werte für JSpinner Java Basics - Anfänger-Themen 2
T Fragen zu Set / Relationen verknüpfen Java Basics - Anfänger-Themen 4
S 2 Fragen Java Basics - Anfänger-Themen 4
S Hallo und Fragen zu Arbeitsverzeichnis und Menü Java Basics - Anfänger-Themen 8
N Java Fragen... Java Basics - Anfänger-Themen 10
F ExecutorService Fragen! Java Basics - Anfänger-Themen 2
O HashMap Fragen Java Basics - Anfänger-Themen 8
C Fragen zu Arrays Java Basics - Anfänger-Themen 19
T viele "kleine" Fragen... Java Basics - Anfänger-Themen 3
S Fragen zur Implementierung eines Adressbuches Java Basics - Anfänger-Themen 20
S Fragen zu Arrays Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben