mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anfängerfrage zum Programmieren


Autor: Timo Teske (killerbiene007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute kann mir irgendwer vieleicht sagen was an diesem Test-Programm 
in Java der Fehler ist?

int a, b, c, max;
  a = In.readInt();b = In.readInt();c = In.readInt();
  if (a > b)
    if (a > c)
      max = a;
    else
      max = c;
  else
    if (b > c)
      max = b;
    else
      max =c;
  Out.printIn(max);

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da bist du hier im falschen Forum denke ich. Und was sollte den das 
Progrämmchen machen?

Autor: Timo Teske (killerbiene007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es sollte bei einer Eingabe von 3 Zahlen die größte wieder ausgeben

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es in Java keine Klammern ?
Man weiss ja gar nicht wo die if/else aufhören.
So zum Bleistift:

  if (a > b)
  {
    if (a > c)
      max = a;
    else
      max = c;
  }
  else
  {
    if (b > c)
      max = b;
    else
      max =c;
  }

Autor: Dussel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klammer braucht man bei einzeiligen if nicht, zumindest in C++, auf dem 
Java aufbaut. Logisch scheint das Programm richtig zu sein. Was macht es 
denn (nicht), was macht es anders als es sein sollte? In der letzten 
zeile steht PrintIn. Ist das richtig oder sollte es PrintInt heißen? 
Kenne mich mit Java nicht aus.

Autor: Markus Volz (valvestino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Timo,

nachdem Du Dich beharrlich weigerst, mal zu erzählen, was genau Dein 
Problem ist, werde ich mal die berühmte Glaskugel bemühen.

Dein "Programm" ist alles mögliche, aber kein vollständiges 
Java-Programm. Hier mal eine lauffähige Variante:
import java.io.*;
public class Max {
  public static void main( String[] args ) {
  int max = 0;
  int a = readInt();
  int b = readInt();
  int c = readInt();
  if (a > b)
      if (a > c)
          max = a;
      else
          max = c;
  else
      if (b > c)
          max = b;
      else
          max =c;
  System.out.print("max: ");
  System.out.println(max);
  }
  private static int readInt() {
    int retval = 0;
    try {
      byte[] buffer = new byte[32];
      int len = System.in.read(buffer);
      retval = Integer.parseInt(new String(buffer).trim());
    }
    catch ( IOException e ) {
      System.out.println(e);
      retval = 0;
    }
    catch ( NumberFormatException e ) {
      System.out.println(e);
      retval = 0;
    }
    return retval;
  }
};

Speichere den Source-Code in "Max.java". Compiliere es in einer DOS-Box 
mit "javac Max.java". Dann kannst Du es mit "java Max" starten. Wenn 
Windows mault, daß es weder "javac" noch "java" finden kann, mußt Du 
Deine path-Umgebungsvariable noch auf Dein JDK\bin-Verzeichnis 
erweitern.

Gruß
Markus

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.