Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallöchen,
ich habe folgende Quellcode erstellt mit Eclipse bzw. zusammengewürfelt:
Java:
// Aufgabe 3.2 a)
import java.util.Scanner;
public class Aufgabe2
{
public static void main(String [] args)
{
@SuppressWarnings("resource")
Scanner scan = new Scanner( System.in );
long n;
long fakultaet = 1;
System.out.println( "Geben Sie N ein:" );
n = scan.nextLong();
for (int i=1; i<=n; i++) {fakultaet = fakultaet * i;}
System.out.println("Die Fakultät von " + n + " ist " + fakultaet);
}
// Aufgabe 3.2 b)
public class ggT {
private int ggt(int x, int y)
{
while (y != 0) {
if (x > y) {
x = x - y;
} else {
y = y - x;
}
}
return x;
}
{
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
System.out.println("Geben Sie x ein: ");
int x = scan.nextInt();
System.out.println("Geben Sie y ein: ");
int y = scan.nextInt();
int ergebnis = ggt(x, y);
System.out.println("Der GGT von " + x +
" und " + y + " ist: " + ergebnis);
}
}
}
Im ersten Abschnitt (Aufgabe 3.2 a)) soll die Fakultät einer Zahl berechnet werden, was auch wunderbar klapp. Und im zweiten Teil (Aufgabe 3.2 b)) soll der größte gemeinsame Teiler zweier Zahlen (x,y) berechnet werden. Dies funktionier auch, aber nur wenn ich den zweiten Teil in einem eigenen Project öffne. Wenn ich beide Aufgaben (wie im obrigen Quellcode zusehen) in einem Projet abspeicher, dann gibt er mit bei der Console nur den ersten Teil mit der Fakultät aus.
Hier nun meine Frage, wie kann ich diese beiden Teilaufgaben verbinden, so dass nach der Eingabe des N-Werts und der Ausgabe der Fakultät, nach einem x und y wert gefragt wird, sodass der ggT dieser beiden berechnet wird.
Guck dir dazu mal Methoden an. Dass du eine eigene GGT Klasse gemacht hast ist nicht nötig. Dass ist viel besser, wenn du die ggt berechnende Methode in die Hauptklasse tust oder eine util Klasse machst, in die du diese Methoden (am Besten statisch) tust.
Die main Methode ist eigentlich nur dazu da, die Teilaufgaben zu koordinieren.
Es gibt also eine Methode begrüßung, die nur dazu da ist die Begrüßung auszugeben.
Eine Methode ließWertEin, die die Werte einließt.
Eine Methode berechneFakultaet, die die Fakultät der Zahl berechnet.
Eine Methode ggt, die den ggt der beiden Zahlen berechnet.
Diese ganzen Methoden werden aus der main Methode aufgerufen und ihre Aufgaben koordiniert.
Okay
also ich bin jetzt so weit, dass er nach der Ausgabe der Fakultät nach einem x und y wert verlangt. Aber nun habe ich ein anderes problem, denn jetzt steht für den y wert immer eine 0 in der Console da -.- ....
ich finde meinen Fehler einfach nicht
Java:
// Aufgabe 3.2 a)
import java.util.Scanner;
public class test
{
public static int main(String [] args)
{
@SuppressWarnings("resource")
Scanner scan = new Scanner( System.in );
long n;
long fakultaet = 1;
System.out.println( "Geben Sie N ein:" );
n = scan.nextLong();
for (int i=1; i<=n; i++) {fakultaet = fakultaet * i;}
System.out.println("Die Fakultät von " + n + " ist " + fakultaet);
// Aufgabe 3.2 b)
System.out.println("Geben Sie x ein: ");
int x = scan.nextInt();
System.out.println("Geben Sie y ein: ");
int y = scan.nextInt();
while (y != 0) {
if (x > y) {
x = x - y;
} else {
y = y - x;
}
}
return x;
}
}
Ja also wenn ich mir das in der Console ausgeben lasse, dann fragt er ja nach einem x Wert, wo ich zb 5 eingeben und dann fragt er nach einem y Wert (z.B 10). Aber dann gibt er völlig was anderes aus wie "der ggT von 5 und 0 ist 0" -.-
dabei habt ich ja alles fast so wie aus meinem anderen quellcode übernommen D: