Stammbrüche ausgeben mit Java?
Ich habe ein Programm geschrieben, das die Stammbrüche eines vom Nutzer eingegebenen Bruches ausgeben soll. Das Programm ist in Java geschrieben und auf Eclipse entwickelt worden. Allerdings gibt es nichts aus. Könnt ihr mir sagen wo der Fehler liegt? Das Programm sollte hierbei die Grundzüge behalten, falls das nicht möglich ist, wäre ich um eine ausführliche Erklärung froh, da mein Level noch relativ niedrig ist.
import java.util.Scanner;
/** * Stammbrüche eines Bruches ausgeben
- @author Anonym
- @date 2015-10-07
- @version 1.0 */
public class Stammbrueche {
public static void main(String[] args) {
// ------ Variablen deklarieren ------
Scanner in = new Scanner(System.in);
String ausgabe = "Loesung: ";
int zaehler;
int nenner;
int nennerNeu;
int nennerKurz;
int zaehlerRest;
int nennerRest;
// ------ Programmablauf ------
zaehler = in.nextInt();
nenner = in.nextInt();
nennerNeu = zaehler;
while (zaehler != 1){
while (nennerNeu < nenner){
nennerNeu = nennerNeu + zaehler;
}
nennerKurz = nennerNeu / zaehler;
ausgabe = ausgabe + " 1/" + nennerKurz ;
zaehlerRest = (zaehler * nennerKurz) - nenner;
nennerRest = nenner * nennerKurz;
zaehler = zaehlerRest;
nenner = nennerRest;
}
ausgabe = ausgabe + " 1/" + nenner ;
System.out.print("" + ausgabe);
in.close();
} }
1 Antwort
bevor keiner was sagt (ich bin kein java-experte):
für mich macht die definition der class Stammbrueche keinen sinn, du verwendest sie nicht.
wie in C/C++ wird auch in java die main-funktion als einsprungspunkt benutzt. die muss aber auf höchster ebene definiert sein. innerhalb einer klassendefinition als methode (syntaktisch möglich) macht so keinen sinn.
lass einfach mal die class ... { ... } klammerung weg.
ok, wieder was gelernt. kannst du debuggen?
also wenn
System.out.print("" + ausgabe);
ausgeführt wird, müsste zumindest "Lösung: 1/" rauskommen.
was passiert, wenn zaehler == 0 ist?
gibt es tatsächliche keine fehlermeldungen?
Ich arbeite mit Eclipse. Die Class muss den gleichen Namen haben wie die Datei. Das stimmt zu 100%. Aber vielen Dank trotzdem.