Der ganzzahlige Quotient a/b zweier ganzer Zahlen a und b und der entstehende
Rest sollen über die Subtraktion berechnet werden. Überlegen Sie, welche Fehlerque llen
es geben kann und berücksichtigen Sie diese im Programm.
Beispiel:
25 / 8 = 3 Rest 1
Bildschirmausgabe:
Berechnung des Quotient und Rest ueber Subtraktion
Divident: 25
Divisor: 3
Ganzahliger Quotient: 8
Ganzzahliger Rest: 3
Programmende QuotSub.
Hier mein bisheriger Quelltext:
Code:
import java.io.*;
public class QuotSub {
public static void main(String argv[])throws IOException {
long a,b,r,q=0;
String str;
BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Quotientenberechnung ueber Subktraktion.");
System.out.....
str = ..................
a = Long.parseLong(str);
System.out.print("Divisor : ");
str = ...................
b = Long.parseLong(str);
r=a;
if (b
else
{
if (r>0)
if (b>0) while (r>=b)
{
r=r-b;
q++;
}//while
else while (r>=-b)
}//while
System.out.println(a+" / "+b+" = "+q+" Rest "+r);
}
System.out.println("Programmende QuotSub.");
}//main
}//class
(habe mal code-tags gesetzt mfg mariopetr)
Ich weiß leider nicht weiter ... vieleicht könnt ihr mir helfen ..... Im vorraus schon mal DANKE
Mal die Theorie, ich hoffe programmiert bekommst du es selber und sage dann mal ob dein lehrer zufrieden war
du merkst dir 4 variablen global: a und b, die anzahl der möglichen subtraktionen und den rest. dann brauchst du eine methode die subtrahiert, als parameter bekommt diese methode den wert übergeben von dem etwas abgezogen werden soll. dann prüfst du ob eine subtraktion ein ergebnis grösser 0 zurückliefert, wenn ja, dann addiere deiner globalen variable für die anzahl der möglichen subtraktionen eine eins dazu und rufe deine subtraktionsmethode mit parameter - b erneut auf. sollte die subtraktion einen wert kleiner 0 zurückliefern, so hast du denn rest gefunden kannst aufhören zu subtrahieren. über diese kleine rekursion kannst du das problem leicht lösen.
Code:
int a = 456;
int b = 7;
int count = 0;
int rest = 0;
private void sub(int param) {
if (param - b >= 0) {
count++;
sub(param - b);
} else {
rest = param;
}
}
public void doSomething() {
sub(a);
}
es ist vor allem am anfang wichtig die dinge selbst zu programmieren und die fehler selbst zu machen, den dadurch lernt man am besten und effektivsten.
dein lehrer wird vermutlich euch nicht helfen java zu programmieren, sondern zu programmieren. am ende sollt ihr jede sprache behrschen, schätz ich zumindest.
also versuch das ganze zu programmieren und wenn konkrete probleme auftreten, wende dich wieder an uns, aber es ist nicht sinn der sache seine hausaufgaben hier lösen zu lassen.