Unerwartete Ausgabe

Status
Nicht offen für weitere Antworten.

Studi

Mitglied
hallo

ich hab folgende zwei java files:

Code:
import java.io.*;
import javagently.Stream;

class Rational0 
{

    // Attribute -------------------------------------------------

    protected int numerator;         // Zähler
    protected int denominator;       // Nenner

    // Konstruktoren ---------------------------------------------
    
    public Rational0() 
    {
numerator   = 0;
denominator = 1;
    }
  
   
    public Rational0(int a, int b) 
    {
set(a, b);
    }

    // weitere Methoden ------------------------------------------  
  
    /** Zuweisung von neuen Werten an die Attribute */ 
    public void set(int a, int b) 
    {
numerator   = a;
denominator = b;
      
/***** Anpassung für den Sonderfall b = 0 ****/
if (b == 0) {
    denominator = 1;
    if (a < 0) 
{
    numerator = Integer.MIN_VALUE;
}
    else 
{
    numerator = Integer.MAX_VALUE;
}
}
/*********************************************/
    }

    //------------------------------------------------------------

    /** Multiplikation zweier rationaler Zahlen */ 
    public Rational0 mult(Rational0 other) 
    {
return new Rational0(numerator * other.numerator, 
     denominator * other.denominator);
    }

    //------------------------------------------------------------
   
    /** Methode zur Berechnung des grössten gemeinsamen
Teilers zweier ganzer Zahlen a und b */
    private static int gcd(int a, int b) 
    {
int next;
int result = Math.abs(a);
int rest   = Math.abs(b);
while (rest != 0) 
    {
next   = result;
result = rest;
rest   = next % result;
    }
return result;
    }
// Addition zweier R Zahlen   
    public Rational0 add(Rational0 other) {
    	return new Rational0(numerator * other.denominator + denominator * other.numerator, 
    		denominator * other.denominator);
    	}
// Subtraktioin zweier R Zahlen
		public Rational0 sub(Rational0 other) {
			return new Rational0(numerator * other.denominator - denominator * other.numerator, 
    		denominator * other.denominator);
		  }  	

// Ausgabe einer R Zahl
		public void output() {
			
			double zahl = numerator/denominator;
			System.out.println(zahl);
		}
		
// Änderung ab Tastatur
		public void change() throws IOException {
			
			Stream in = new Stream(System.in);
			PrintStream out = System.out;
			
			out.println("\nMomentaner Zähler :"+numerator+
				"\nMomentaner Nenner :"+denominator);
			out.println("\nNeuer Zähler :");
			numerator = in.readInt();
			out.println("Neuer Nenner :");
			denominator = in.readInt();
				
    	}
}

und


Code:
import java.io.*;
import javagently.*;

class Calc0{
	public static void main(String[] args) throws IOException {
		
			Stream in = new Stream(System.in);
			PrintStream out = System.out;
		
			out.println("Geben sie einen Zaehler ein: ");
			int zähler = in.readInt();
			out.println("Geben sie einen Nenner ein: ");
			int nenner = in.readInt();
			Rational0 zahl = new Rational0(zähler, nenner);
			out.println();
			zahl.output();
		}
	}

Beide können kompiliert werden und Calc0 läuft auch. Das Problem: Wenn ich zwei Werte übergebe dann ergibt die Ausgabe immer 0. ABER wenn ich als Nenner 0 wähle wird es trotzdem erkannt und wie gewünscht wird die kleinste bzw. grösste Integer Zahl ausgeben. .. ..??

Woran liegt das? Also irgendwo müssen die Werte ja verloren gehen wenn die Ausgabe immer 0 ist.
 

Wildcard

Top Contributor
Funktioniert doch!
Du musst nur dran denken das du int werte verwendest,
d.h. bei zähler=5 und nenner=6 würde 0 ausgegeben werden.
Hier ist double vermutlich angemessener.
 

Studi

Mitglied
hmm..

das hier ist vorgegeben:
Code:
 public Rational0(int a, int b) 
    { 
set(a, b); 
    }

..ich kann also keine double zahlen übergeben.
aber die zahl in der output methode ist ja double... sollte das nicht reichen?
ich kann also nicht doubles übergeben.
 

Wildcard

Top Contributor
Dann musst du bei der Berechnung den Typ casten, da sonst eine
int division ausgeführt wird.

Code:
double a = (double)b/(double)c;
 

Studi

Mitglied
Code:
 //------------------------------------------------------------ 

    /** Multiplikation zweier rationaler Zahlen */ 
    public Rational0 mult(Rational0 other) 
    { 
return new Rational0(numerator * other.numerator, 
     denominator * other.denominator); 
    }

Leider seh ich hier die Bedeutung des 'other' nicht ganz. Wenn die Methode mit zwei Inputs gefüttert wird und dies Rational0 und other sein soll, dann sollte doch ein Komma dazwischen sein? Ist es aber nicht.. was bedeutet das?

Ich hoffe jemand kann mir helfen. Vielen Dank
 
W

Wildcard aw

Gast
deine Methode mult muss ja wissen von welchem Typ ihr Paramter ist.
Das
Code:
public Rational0 mult(Rational0 other)
bedeuted also deine public methode mult hat einen Rückgabewert vom typ Rational0,
und bekommt denParameter other vom Typ Rational0 übergeben.
Also der gleiche aufbau wie auch bei

Code:
public int mult(int other)

wenn du mit int Zahlen arbeiten würdest.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Trotz "synchronized" unerwartete Ausgabe Java Basics - Anfänger-Themen 2
K Unerwartete Antwort Java Basics - Anfänger-Themen 1
G unerwartete Ergebnisse beim URL auslesen Java Basics - Anfänger-Themen 2
J unerwartete NPE Java Basics - Anfänger-Themen 15
W Unerwartete Vererbung Java Basics - Anfänger-Themen 13
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
J String Ausgabe Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
V Erste Schritte for-Schleife; Ausgabe soll alle 5 Sekunden erfolgen. Java Basics - Anfänger-Themen 4
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
J Ausgabe Gesamtpreis Java Basics - Anfänger-Themen 39
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
B HQL / Hibernate, GroupBy und Ausgabe als Double Java Basics - Anfänger-Themen 1
J StrinBuffer in der Ausgabe Java Basics - Anfänger-Themen 4
H ausgabe? Java Basics - Anfänger-Themen 32
B Ausgabe Zahlenreihe Horizontal Java Basics - Anfänger-Themen 3
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
K Array Ausgabe Java Basics - Anfänger-Themen 2
L Datentypen Ausgabe von eigenem Datentypen Java Basics - Anfänger-Themen 2
C 1x1 Ausgabe auf dem Bildschirm Java Basics - Anfänger-Themen 3
L Fehler im Programm bei Ausgabe Java Basics - Anfänger-Themen 21
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
F Warum ist die Ausgabe hier 1? Java Basics - Anfänger-Themen 4
Bun17 Keine Ausgabe in der Konsole Java Basics - Anfänger-Themen 2
H Ausgabe Java Basics - Anfänger-Themen 6
U Ausgabe von Dateiinhalt während Programmnutzung fehlerhaft Java Basics - Anfänger-Themen 3

Ähnliche Java Themen


Oben