KGV

-Dimi-

Neues Mitglied
hi leute,

ich habe gerade mein Informatikstudium ohne irgendwelche Vorkenntnisse angefangen und versuche mir im Moment das Programmieren beizubringen, was sehr frustrierend ist :(. Ich versuche ein Programm zu schreiben, was mir das kgV berechnet, aber aus irgendeinem grunde wenn ich es starte kommt nie was könnt ihr mir sagen wo mein fehler ist und warum das ein fehler ist ?

Java:
package kgV;

import static gdi.MakeItSimple.*;

public class kgV {

	public static void main(String[] args) {
		int a=5;
		int b=6;
		int c=0;
		int d;
		
		while (c==100){
		
		d=a*c;
		
		if 
	
		(d%b==0){
			
		
		println(c+"");
		c++;}
		
		else 	c++;
		}
		
	}
}



lg Dimi
 
Zuletzt bearbeitet von einem Moderator:

Andi_CH

Top Contributor
Schau mal wie schön das aussieht, wenn man das (automatisch mit ein wenig Handarbeit) richtig einrückt und in JAVA Tags stellt ;-)
Java:
public class KgV {

	public static void main(String[] args) {
		int a=5;
		int b=6;
		int c=0;
		int d;
		while (c==100){
			d=a*c;
			if (d%b==0){
				System.out.println(c + "");
				c++;
			} else {
				c++;
			}
		}
	}
}

Ach ja, Klassenamen bitte Gross schreiben

Ohne es genau zu analysieren - wenn d%b nie 0 ist kommt nie etwas raus - so ist es einfach ....

EDIT: Ist ja VIEL einfacher :)

int c = 0;

und weiter unten

while (c==100) ... tja :D
 
Zuletzt bearbeitet:
G

Gast2

Gast
Code:
int c=0;
+
Code:
while (c==100){
=> Die Schleife wird nie betreten.
 

Gossi

Bekanntes Mitglied
Habs mal nen bisschen überarbeitet, sind nen paar sachen drinne die man verbessern kann/muss:
Java:
public class KgV {

	public static void main(String[] args) {
		int a=5;
		int b=6;
		int c=0;
		int d;
//              while (c <= 100){ wird nicht ausgefuehrt, da dein c ja 0 ist und nicht 100 also:
		while (c <= 100){
			d=a*c;
			if (d%b==0){
				System.out.println(c + "");
//				c++;
			} 
//                      else {
//				c++;
//			}
//                      Du kannst auch einmal am ende c++ schreiben, macht den Code uebersichtlicher:
                        c++;
		}
	}
}
 

Gossi

Bekanntes Mitglied
Habs mal nen bisschen überarbeitet, sind nen paar sachen drinne die man verbessern kann/muss:
Java:
public class KgV {

	public static void main(String[] args) {
		int a=5;
		int b=6;
		int c=0;
		int d;
//		while (c <= 100){ wird nicht ausgefuehrt, da dein c ja 0 ist und nicht 100 also:
		while (c <= 100){
			d=a*c;
			if (d%b==0){
				System.out.println(c + "");
//				c++;
			} 
//			else {
//				c++;
//			}
//			Du kannst auch einmal am ende c++ schreiben, macht den Code uebersichtlicher:
			c++;
		}
	}
}
 

Gossi

Bekanntes Mitglied
Okay, die Klassen schreibe ich Zukunft Groß.

Aber wieso wird die Schleife nie betretten?

Java:
//		while (c <= 100){ wird nicht ausgefuehrt, da dein c ja 0 ist und nicht 100 also:

:toll:

PS:

Du hast auch noch nen denkfehler dirnne:
Java:
		while (c <= 100){
			d= a * c;
			if (d % b == 0){
//				System.out.println(c + "");
//				Du willst ja nunmal das kleinste gemeinsame Vielfache haben
//				und nicht wie oft du a multiplizieren willst um auf d % b == 0
//				zu kommen, also:
				System.out.println(d + "");
			} 

}

Wobei bei der berechnung des KgV auch diese Variante richtig wäre:

Java:
		while (c <= b){
			d= a * c;
			if (d % b == 0 && c > 0){
				System.out.println(d + "");
				c = b;
			} 

}
 
Zuletzt bearbeitet:

Neue Themen


Oben