kgV

DoublexD

Mitglied
Hallo,
ich arbeite im Moment in Eclipse an einem Programm, dass den kgV (=kleinsten gemeinsamen Teiler) zweier eingegebener Zahlen bestimmt (aber auf relativ niedrigem Niveau, da ich erst Anfänger bin).
Hier mein Script:
Java:
public class kgV {

	/**
	 * @param args
	 */
	public static void main(String[] args) 
	{
		
		private static int min(int a, int b)
		{
			if (a <= b)
			return a;
			else 
			return b;
				
		}
		
		private static int ggT(int i, int y)
		{
			int ggT=1;
			for (int t=1; t<= min(a,b); t++)
			{
				if (a%t==0)
				if (b%t==0)
				ggT=t;
			}
			return ggT;
		}
		private static int kgV(int a, int b)
		{
			kgV = ((a*b) : ggT) ;
		}
	System.out.println("Das kleinste gemeinsame Vielfache von"+ int a+ "und" + int b "ist" + int kgV + ".")
	}

}

Es kamen jetzt mehrere Fehlermeldungen, die ich mit meinem Anfängerwissen, aber nicht verstanden habe. Könnt ihr mir vielleicht sagen, wo meine Fehler sind und sie mir auch kurz erklären?
Danke für eure Mühen :toll:
LG JM
PS: Ich habe da immer private static int geschrieben, weil ich das so auch im Internet gefunden habe und ich mich an den Vorlagen bisschen orientiert habe, aber warum muss da überhaupt "private und static" hin? :bahnhof:
 

turtle

Top Contributor
Wie EikeB schon geschrieben hat, sind Deine Methoden min, ggT und kgV innerhalb von main() unzulässig.

Desweiteren solltest Du Klassennamen mit einem GROSS-Buchstaben beginnend benennen (also zum Beispiel KGV) und Methoden sollten mit einem Verb beginnen (also zum Beispiel berechneKGV oder getMinimum).
 

Fant

Bekanntes Mitglied
Code:
private static int kgV(int a, int b) {
    kgV = ((a*b) : ggT) ;
}

- es fehlt ein return-Statement
- "geteilt durch" schreibt man in Java mit einem "/"
- Du rufst die Methode ggT auf, aber übergibst keine Parameter


Java:
private static int kgV(int a, int b) {
    int kgV = ( (a*b) / ggT(a,b) );
    return kgV;
}

Außerdem ist deine Methode den ggT zu berechnen äußerst ineffizient. Schau dir mal Euklidischer Algorithmus ? Wikipedia an.

Gruß Fant
 

HimBromBeere

Top Contributor
Code:
kgV
?! kleines gemeinsames Vielfaches???

Das, was du suchst, ist der ggT (größter gemeinsamer Teiler), denn der kleinste ist bekanterweise immer 1 :D
 

Dekker

Bekanntes Mitglied
Code:
kgV
?! kleines gemeinsames Vielfaches???

Das, was du suchst, ist der ggT (größter gemeinsamer Teiler), denn der kleinste ist bekanterweise immer 1 :D

oO? Was er macht stimmt schon so. Er sucht das kleinste gemeinsame Vielfache. Wie kommst du darauf das das immer 1 ist? Sagen wir zum Beispiel a = 15 und b = 20, dann ist ggT = 5 und kgV = 60.

Er hat halt einfach Syntaxfehler im Code. Wobei man den ggT effizienter über den euklidischen Algorithmus berechnen kann, als durch stupides ausprobieren.
 

Neue Themen


Oben