Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Leute,

ich schreibe am Freitag eine Klausur zum Thema Java/ Arrays und jetzt hab ich mir mal ein altes Programm von einem Klassenkammeraden vorgenomen, kann aber mit den Befehlen nichts anfangen.

Ich fänd es super wenn einer von euch mir dabei weiterhelfen kann und mir in DAU (dümmster anzunehmender User ) Deutsch die unten stehenden Befehle erklären kann.

private static int wer = 0;

private static double [] ar;

private static String strAusgabe = "";

private static String strsAusgabe = "";

private static int ln;

Vielen Dank

FISI AZUBI 2014

Geschrieben

Oje oje.... Das sind absolute Grundlagen! Ich bin mal so nett:

private = Sichtbarkeit (Galileo Computing :: Java ist auch eine Insel – 5.2 Privatsphäre und Sichtbarkeit)

static = statische Variable/Member (Galileo Computing :: Java ist auch eine Insel – 5.3 Statische Methoden und statische Attribute)

int, double, Sting = Datentypen (Datasource :: Programmierung :: Java-Datentypen)

[] = Array (Java ist auch eine Insel – 3.8 Arrays)

= "", = 0, ... = Initialisierung (Wertzuweisung)

Mach am besten von Anfang an ein Tutorial durch...

Geschrieben
Mir ging es mehr um die befehle
Das sind alles keine Befehle.

Was int ist, hat pr0gg3r erklärt.

wer, ln und ar sind Variablennamen. Die könnten auch hund, katze und maus heißen.

Weißt du, was eine Variable ist?

Geschrieben (bearbeitet)

Hier mal der gesammte Code

und jetzt erklär mir doch bitte mal jemand wozu das

private static int wer = 0

gebraucht wird.

import javax.swing.*;

public class MessVer2{

  private static int wer = 0;

  private static double [] ar;

  private static String strAusgabe = "";

  private static String strsAusgabe = "";

  private static int ln;

  public static void array (){

    ln = Integer.parseInt(JOptionPane.showInputDialog(null, "Bitte geben sie die Anzahl der Werte an!"));

    ar = new double[ln];

  }

  public static void eingabe(){

    if (ln >0) {

      for (int i=0; i<ar.length; i++) {

        String strWert= JOptionPane.showInputDialog(null, "Messwert "+ +(i+1) +" von "+ar.length+" eingeben");

        double wert= Double.parseDouble(strWert);

        ar[i] = wert;

      }

    } else {

      meldung();

    }

  }

  public static void meldung(){

    JOptionPane.showMessageDialog(null, "Sie haben noch kein Array erstellt!", "Error", JOptionPane.ERROR_MESSAGE);

  }

  public static void kleinsterwert(){

    if (ln >0) { 

      double kwrt = ar[0];

      for (int i=1; i<ar.length; i++) {

        if (kwrt > ar[i]) {

          kwrt = ar[i]; 

        }

      }

      JOptionPane.showMessageDialog(null, "Der kleinste Messwert beträgt: "+kwrt);

    } else {

      meldung();

    }     

  } 

  public static void größterwert(){

    if (ln >0) {

      double gwrt = ar[0]; 

      for (int i=1; i<ar.length; i++) {

        if (gwrt < ar[i]) {

          gwrt = ar[i]; 

        }

      } 

      JOptionPane.showMessageDialog(null, "Der kleinste Messwert beträgt: "+gwrt); 

    } else {

      meldung(); 

    }    

  } 

  public static void ausgabe(){

    if (ln >0) {

      for (int i=0;i<ar.length;i++) {

        strAusgabe = strAusgabe + Double.toString(ar[i]) + "\n";

      }

      JOptionPane.showMessageDialog(null, "Messewerte:\n\n" + strAusgabe);

      strAusgabe = "";

    } else {

      meldung();

    }

  }

  public static void durchschnitt(){

    if (ln >0) {

      double sum = 0;                

      for (int i=0 ; i<ar.length; i++ ) {

        sum += ar[i];

      }

      double dr = (sum/ar.length);

      dr = Math.round(dr*100.00)/100.00;

      JOptionPane.showMessageDialog(null, "Der durchschnitt beträgt: " + dr);

      return;

    } else {

      meldung();

    }

  }

  public static void sortierung(){

    for (int i=0 ; i<ar.length-1; i++ ) {

      double temp;

      int min = i;

      for (int j=i+1;j<ar.length ;j++ ) {

        if (ar[j] < ar[min]){ 

          min = j;

        } 

        temp = ar[min];

        ar[min] = ar[i];

        ar[i] = temp;

      }

    }

  } 

  public static void main (String[]Args){

    while (true) {

      char input; 

      input = JOptionPane.showInputDialog(null, "*****Hauptmenü***** \n Z = Anzahl der Messungen eingeben \n B = Programm beenden \n \n").charAt(0);

      switch (input) {

        //case 'e' : case 'E' : eingabe(); break;

        case 'a' : case 'A' : ausgabe(); break;

        case 'z' : case 'Z' : array(); eingabe(); break;

        default : JOptionPane.showMessageDialog(null, "Falsche eingabe. \nBitte versuchen sie es erneut!", "Error", JOptionPane.ERROR_MESSAGE); 

      }

      if (ln>0){break;}

    } // end of while

    while (true) { 

      char input;

      input = JOptionPane.showInputDialog(null, "*****Hauptmenü***** \n Z = Anzahl der Messungen eingeben \n E = Eingabe \n A = Ausgabe \n D = Durchschnitt \n K = Kleinster Wert \n G = Größter Wert \n S = Sortierung \n B = Programm beenden \n \n").charAt(0);

      switch (input) {

        case 'e' : case 'E' : eingabe(); break;

        case 'a' : case 'A' : ausgabe(); break;

        case 'z' : case 'Z' : array(); eingabe(); break;

        case 'd' : case 'D' : durchschnitt(); break;

        case 'k' : case 'K' : kleinsterwert(); break;

        case 'g' : case 'G' : größterwert(); break;

        case 's' : case 'S' : sortierung(); ausgabe(); break;

        case 'b' : case 'B' : System.exit(1); break;

        default : JOptionPane.showMessageDialog(null, "Falsche eingabe. \nBitte versuchen sie es erneut!", "Error", JOptionPane.ERROR_MESSAGE); 

      }

    }

  }

}

Bearbeitet von Klotzkopp
Code-Tags hinzugefügt
Geschrieben

In Java gilt:


// Deklaration:

sichtbarkeit (strict) datentyp variablename;


// Initialisierung (setzt Deklaration voraus) 

variablename = wert;


// Deklaration + Initialisierung auf einmal:

sichtbarkeit (strict) datentyp variablename = wert; 

Geschrieben
Hier mal der gesammte Code
Benutz bitte Code-Tags.

und jetzt erklär mir doch bitte mal jemand wozu das

private static int wer = 0

gebraucht wird.

Die Variable wird nirgends verwendet, also ist sie überflüssig.
Geschrieben
und das bedeutet jetzt was genau?

sorry für die dummen Fragen, aber Programmieren ist nicht geade mein Lieblingsfach und ich verzweifel hier gerade i iwe dran

Wenn ich dich jetzt mal mit meinen Mitschülern aus der Berufsschulklasse vergleiche: Das ganze Jahr über Flashgames zocken, im Unterricht nicht aufpassen und dann kurz vorm Test/Prüfung Panik schieben... Da sag ich nur: Selber schuld! Klar kann es sein, dass man einfach nicht gut darin ist, aber die einfachsten Sachen, sprich Grundlagen, sollte man hinkriegen, wenn man sich damit befasst. Eine drei ist, denke ich, auf jeden Fall drin wenn man sich damit befasst. Selbst dann, wenn mans nicht mag...

Also ich rate dir: Mach Tutorials, sonst bringen auch die besten Erklärungen nichts.

Geschrieben
und das bedeutet jetzt was genau?
Das bedeutet, dass diese Variable nicht gebraucht wird. Das passiert schon mal, wenn man Code häufiger ändert. Da bleiben dann unbenutzte Reste von alten Versuchen zurück.
Geschrieben

Die toString Methode gibt einen für die Klasse entsprechenden String zurück. Double (mit großem D) ist eine containerklasse für fließkomma Werte (double mit kleinem d) da jede Klasse in Java direkt oder indirekt von der Klasse Object erbt und die toString Methode in object drin ist ist sie auch in jeder unterklasse drin. Diese muss um was vernünftiges zurück zu geben in der unterklasse überschrieben werden. Kurz gesagt hast du eine Klasse Double mit dem Wert 0.5 drin gibt Double.toString "0.5" als String zuruck

Geschrieben

Du bist vielleicht hart drauf^^

Kannst du überhaupt irgendwas, was mit programmieren oder vielleicht Java zu tun hat? Ich versuchs trotzdem mal.

import javax.swing.*;

public class MessVer2{

  // Initialisierung von Variablen.

  // Alle Variablen die man hier sieht sind als private und static initialisiert. 

  // private bedeutet du kannst auf diese Variable nur innerhalb dieser Klasse zugreifen. Von einer anderen Klasse aus

  // ist die Variable nicht sichtbar.

  // static bedeutet das diese Variable nicht an eine Instanz dieser Klasse gebunden ist. Sondern für alle Instanzen die

  // selbe Variable benutzen. Man benötigt nicht mal eine Instanz der Klasse sondern kann direkt über die Klasse selbst

  // auf die Variable zugreifen.


  // int ist ein Datentyp. Steht für Integer. Also ganze Zahlen. Positiv wie negativ. 32bit. Wertebereich von -2^31 bis

  // 2^31

  // "wer" ist der name der Variablen. Der Zugriff im programm erfolgt über diesen Namen.

  private static int wer = 0;

  // double ist ein Datentyp für Gleitkommazahlen mit doppelter Genauigkeit. [] Gibt an das es sich um ein Array 

  // handeln soll

  private static double [] ar;

  // String hat nichts mit Unterwäsche zu tun - sondern ist ein komplexer Datentyp, welcher eine Zeichenkette

  // beliebiger Länger aufnehmen kann.

  private static String strAusgabe = "";

  private static String strsAusgabe = "";

  private static int ln;


  // Das ist eine Methode. Spricht ein programmbaustein den man aufrufen kann.

  // public bedeutet, dass diese Methode von überall aus aufgerufen werden kann. static bedeutet dass gleiche wie

  // oben auch

  // void ist der Rückgabetyp. Jede Methode hat so einen. Er steht immer vor dem Methodennamen. void ist ein

  // Datentyp der eigentlich keiner ist. Es bedeutet "nichts!". D.h. man braucht auch kein return.

  public static void array (){

    // JOptionPane ist eine Klasse aus dem Swing-Framework (für grafische Oberflächen). Sie bietet Schnittstellen zum

    // einfachen erstellen von Dialogen. Mit der Methode showInputDialog wird ein Eingabe-Dialog erstellt und

    // angezeigt. Nachdem der Benutzer die Eingabe abgeschlossen hat gibt die Methode einen String zurück.

    // Integer.parseInt ist eine Methode welche eine String (also eine Zeichenkette) zu einer Zahl umrechnet mit der

    // der Computer rechnen kann.

    // "ln =" weist der Variable ln den Rückgabewert der parseInt-Methode zu.

    ln = Integer.parseInt(JOptionPane.showInputDialog(null, "Bitte geben sie die Anzahl der Werte an!"));

    ar = new double[ln];

  }


  // ____________________Probiers ab hier mal selbst____________________

  public static void eingabe(){

    if (ln >0) {

      for (int i=0; i<ar.length; i++) {

        String strWert= JOptionPane.showInputDialog(null, "Messwert "+ +(i+1) +" von "+ar.length+" eingeben");

        double wert= Double.parseDouble(strWert);

        ar[i] = wert;

      }

    } else {

      meldung();

    }

  }

  public static void meldung(){

    JOptionPane.showMessageDialog(null, "Sie haben noch kein Array erstellt!", "Error", JOptionPane.ERROR_MESSAGE);

  }

  public static void kleinsterwert(){

    if (ln >0) { 

      double kwrt = ar[0];

      for (int i=1; i<ar.length; i++) {

        if (kwrt > ar[i]) {

          kwrt = ar[i]; 

        }

      }

      JOptionPane.showMessageDialog(null, "Der kleinste Messwert beträgt: "+kwrt);

    } else {

      meldung();

    }     

  } 

  public static void größterwert(){

    if (ln >0) {

      double gwrt = ar[0]; 

      for (int i=1; i<ar.length; i++) {

        if (gwrt < ar[i]) {

          gwrt = ar[i]; 

        }

      } 

      JOptionPane.showMessageDialog(null, "Der kleinste Messwert beträgt: "+gwrt); 

    } else {

      meldung(); 

    }    

  } 

  public static void ausgabe(){

    if (ln >0) {

      for (int i=0;i<ar.length;i++) {

        strAusgabe = strAusgabe + Double.toString(ar[i]) + "\n";

      }

      JOptionPane.showMessageDialog(null, "Messewerte:\n\n" + strAusgabe);

      strAusgabe = "";

    } else {

      meldung();

    }

  }

  public static void durchschnitt(){

    if (ln >0) {

      double sum = 0;                

      for (int i=0 ; i<ar.length; i++ ) {

        sum += ar[i];

      }

      double dr = (sum/ar.length);

      dr = Math.round(dr*100.00)/100.00;

      JOptionPane.showMessageDialog(null, "Der durchschnitt beträgt: " + dr);

      return;

    } else {

      meldung();

    }

  }

  public static void sortierung(){

    for (int i=0 ; i<ar.length-1; i++ ) {

      double temp;

      int min = i;

      for (int j=i+1;j<ar.length ;j++ ) {

        if (ar[j] < ar[min]){ 

          min = j;

        } 

        temp = ar[min];

        ar[min] = ar[i];

        ar[i] = temp;

      }

    }

  } 

  public static void main (String[]Args){

    while (true) {

      char input; 

      input = JOptionPane.showInputDialog(null, "*****Hauptmenü***** \n Z = Anzahl der Messungen eingeben \n B = Programm beenden \n \n").charAt(0);

      switch (input) {

        //case 'e' : case 'E' : eingabe(); break;

        case 'a' : case 'A' : ausgabe(); break;

        case 'z' : case 'Z' : array(); eingabe(); break;

        default : JOptionPane.showMessageDialog(null, "Falsche eingabe. \nBitte versuchen sie es erneut!", "Error", JOptionPane.ERROR_MESSAGE); 

      }

      if (ln>0){break;}

    } // end of while

    while (true) { 

      char input;

      input = JOptionPane.showInputDialog(null, "*****Hauptmenü***** \n Z = Anzahl der Messungen eingeben \n E = Eingabe \n A = Ausgabe \n D = Durchschnitt \n K = Kleinster Wert \n G = Größter Wert \n S = Sortierung \n B = Programm beenden \n \n").charAt(0);

      switch (input) {

        case 'e' : case 'E' : eingabe(); break;

        case 'a' : case 'A' : ausgabe(); break;

        case 'z' : case 'Z' : array(); eingabe(); break;

        case 'd' : case 'D' : durchschnitt(); break;

        case 'k' : case 'K' : kleinsterwert(); break;

        case 'g' : case 'G' : größterwert(); break;

        case 's' : case 'S' : sortierung(); ausgabe(); break;

        case 'b' : case 'B' : System.exit(1); break;

        default : JOptionPane.showMessageDialog(null, "Falsche eingabe. \nBitte versuchen sie es erneut!", "Error", JOptionPane.ERROR_MESSAGE); 

      }

    }

  }

}

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...