Klassen Unterprogramme

BlueCross-

Mitglied
Ich muss für eine kommende Prüfung eine Beispielklasse zum Thema Unterprogramme erstellen.
ich hab also mein Main von dem ich die Unterprogramme nacheinander aufrufen möchte, jedoch funktioniert das nur teilweise.

Java:
import Prog1Tools.IOTools;

public class Projektkompetenz {

	static String name; 
	static int alter;
	static double njahr;
	static double ajahr;
	
	
	public static String name()
	{
		
		System.out.println("Zuerst gibst du mal deinen Namen ein damit ich weiß wer du bist");	
		name = IOTools.readString("Geben sie Ihren Namen ein: ");
		System.out.println("ihr name ist also " + Projektkompetenz.name); 
		return name;
		
	}
	
	public static double alter(double x, double y)
	{
		double ergebnis = x -y; 
		x= IOTools.readDouble("Welches Jahr haben wir denn heute?");
		y=IOTools.readDouble("Und in welchem jahr wurdest du geboren?");
		return ergebnis;
		
	}
	
	public static void alter()
	{
		System.out.println("Und wie alt bist du den?");
		alter();
		return;
	}
	
	public static void begrüßung()
	{
		System.out.println("*******************************************************");
		System.out.println("** Herzlich wilkommen zu meiner Projektkompetenz     **");
		System.out.println("** Wir werden uns Heute mit den Thema Unterprogramme **");
		System.out.println("** beschäftigen. Dazu dient dieser QUelltext         **");
		System.out.println("** fangen wir nun an. Viel Spaß                      **");
		System.out.println("*******************************************************");
	}



	public static void main(String [] args)
	{
		begrüßung();
		name();
		
		alter(njahr,ajahr);
		return;
	}

	
}
Das programm fängt richtig an und funktioneirt bis zum dem punkt wo er das erste jahr einlesen soll, dor stürtzt das programm ab.
woran liegt das?
 
Zuletzt bearbeitet:

Unlikus

Mitglied
überladen geht nur, wenn die beiden Methoden verschiedene Parameter wollen.
Du musst also die beiden dooble parameter mit angeben um eine erste alter-Mehtode zu benutzen
 
Zuletzt bearbeitet:

Unlikus

Mitglied
du musst njahr ajahr in der Main methode vorher auch noch definieren. Auch verstehe ich die Logik hinter den beiden alter Methoden nicht.
 

BlueCross-

Mitglied
Java:
import Prog1Tools.IOTools;

public class Projektkompetenz {

	static String name; 
	static int alter;
	
	
	
	public static String name()
	{
		
		System.out.println("Zuerst gibst du mal deinen Namen ein damit ich weiß wer du bist");	
		name = IOTools.readString("Geben sie Ihren Namen ein: ");
		System.out.println("ihr name ist also " + Projektkompetenz.name); 
		return name;
		
	}
	
	
	public static double alter(double x, double y)
	{
		double ergebnis = x -y; 
		
		return ergebnis;
		
	}
	
	
	public static double eingabe()
	{
		double ergebnis=IOTools.readDouble("geben sie die gewünschte zahl ein: ");
		return ergebnis;
	}
	
	
	public static void begrüßung()
	{
		System.out.println("*******************************************************");
		System.out.println("** Herzlich wilkommen zu meiner Projektkompetenz     **");
		System.out.println("** Wir werden uns Heute mit den Thema Unterprogramme **");
		System.out.println("** beschäftigen. Dazu dient dieser QUelltext         **");
		System.out.println("** fangen wir nun an. Viel Spaß                      **");
		System.out.println("*******************************************************");
	}



	public static void main(String [] args)
	{
		begrüßung();
		name();
		double njahr = eingabe();
		double ajahr = eingabe();
		alter(njahr,ajahr);
		System.out.println(njahr+ajahr);
		return;
	}

	
}

ok verstehe langsam worauf ihr raus wollt. hab nun die variablen definiert, jetzt kommt zwar noch ein quatsch raus, aber immerhin geht was :D
 
Zuletzt bearbeitet:

Unlikus

Mitglied
wieso nimmst du double als Datentyp für Jahreszahlen? int wäre hier bestimmt besser.

Was funktionert an dem Code denn noch nicht, so von außen betrachetet scheint er funktionstüchtig, auch wenn sicherlich noch nicht wirklich gut umgesetzt.
 

BlueCross-

Mitglied
Java:
import Prog1Tools.IOTools;

public class Projektkompetenz {

	static String name; 
	static int alter;
	
	
	
	public static String name()
	{
		
		System.out.println("Zuerst gibst du mal deinen Namen ein damit ich weiß wer du bist");	
		name = IOTools.readString("Geben sie Ihren Namen ein: ");
		System.out.println("ihr name ist also " + Projektkompetenz.name); 
		return name;
		
	}
	
	
	public static double alter(double x, double y)
	{
		double ergebnis = x -y; 
		
		return ergebnis;
		
	}
	
	
	public static double eingabe()
	{
		double ergebnis=IOTools.readDouble("geben sie die gewünschte zahl ein: ");
		return ergebnis;
	}
	
	
	public static void begrüßung()
	{
		System.out.println("*******************************************************");
		System.out.println("** Herzlich wilkommen zu meiner Projektkompetenz     **");
		System.out.println("** Wir werden uns Heute mit den Thema Unterprogramme **");
		System.out.println("** beschäftigen. Dazu dient dieser QUelltext         **");
		System.out.println("** fangen wir nun an. Viel Spaß                      **");
		System.out.println("*******************************************************");
	}



	public static void main(String [] args)
	{
		begrüßung();
		name();
		System.out.println("Nun wüsste ich gerne wie alt du bist.");
		System.out.println("gib nun das aktuelle jahr an");
		double njahr = eingabe();
		System.out.println("gib nun das ajhr an in dem du geboren wurdest");
		double ajahr = eingabe();
		System.out.println("Du bist also: " +alter(njahr,ajahr) + " oder wirst es noch dieses jahr");
		System.out.println();
		return;
	}

	
}
ok der code sieht zwar nicht toll aus, macht aber genau das was ich möchte, seht ihr noch einen fehler?
 

Neue Themen


Oben