# Quadrat und Wurzel HILFE!!!!!



## pascalos (17. Jul 2009)

Hallo zusammen,
ich bin gerade bei einem Heft der ILS dran und komme nicht weiter. Ich hoffe einer von euch kann mir die Aufgabe fertig stellen.

Hier ist die Aufgabenstellung:
Erstellen Sie eine wiederverwendbare Klasse MeineRechnungen mit statischen Funktionen in einem Paketaufgabe4. ( Das ist erledigt!!! )
Die erste Funktion quadrat() der Klasse soll das Quadrat einer übergebenen Zahl berechnen und die zweite Funktion wurzel() die Quadratwurzel einer übergebenen Zahl.

Für das Berechnen der Quadratwurzel können Sie die Methode sqrt() aus der Klasse Math verwenden. Die Methode erwartet einen double-Typen als Argument und liefert einen double-Typen zurück. Eine Import-Anweisung ist für die Klasse nicht erforderlich, da sie zum Paket java.lang gehört.

Erstellen Sie von der Funktion quadrat() jeweils eine Version, die int-Typen verarbeitet und einen int-Typen zurück liefertund eine Version, die double-Typen verarbeitet und einen double-Typen zurückliefert. Der Aufruf soll aber nur durch den namen quadrat() erfolgen. Welcher Typ verarbeitet werden soll, muss die Funktion selbst anhand des Arguments feststellen können.

Kommentieren Sie die Klasse MeineRechnungen ausführlich.

Erstellen Sie dann eine Klasse in einem anderen Projekt in einem anderen Arbeitsbereich, die in einer main()-Methode die statischen Funktionen aus der Klasse MeineRechnungen jeweils mit einem int- und einem double-Wert aufruft. Nehmen Sie die Klasse MeineRechnungen dabei über einen Verweis in das Projekt mit der Test-Klasse auf.

Beschreiben Sie bitte für die Lösung dieser Aufgabe zusätzlich, welche Schritte Sie mit Eclipse für das Erstellen der wiederverwendbaren Klasse durchführen und wie Sie die Klasse MeineRechnungen in das Projekt mit der Test-Klasse einbinden.

So das war die Aufgabenstellung. Ich weiss ich bin neu hier und das scheint wohl zu viel des guten zu sein, aber ich hoffe einer von euch kann mir die Lösung nennen. Ich bin schon tagelang dran aber ich bekomme es nicht hin.

Ich wäre euch so dankbar.

Liebe Grüße

Pascal


----------



## Gelöschtes Mitglied 5909 (17. Jul 2009)

was genau bekommst du denn nicht hin, wenn du da schon "tage" lang dran sitzt?

Ein Quadrat ist x * x und für die Wurzel kannst du wie oben schon steht Math.sqrt() verwenden.


```
public static int quadrat(int x) {
  return // was muss hier wohl hin?
}

public static double quadrat(double x) {
  return // und hier?
}
```

das sind alles einzeiler, ich versteh nicht wie man dadran Tage lang sitzen kann


----------



## frapo (17. Jul 2009)

Poste einfach mal den Code(bitte in die Tags [noparse]
	
	
	
	





```
DeinCode
```
[/noparse] einfügen), dann können wir sehen wie weit du schon bist. 

Gruß
frapo


----------



## pascalos (18. Jul 2009)

```
package aufgabe4;
import static java.lang.Math.*;

	/* ######################################################################
	 
	 							Einsendeaufgabe 7.4
	 							
	###################################################################### */
	
	
	public class MeineRechnungen {
		
		  // hier wird das Quadrat einer double-Zahl berechnet 
		public static double ergebnis;
		
		public static double quadrat( double wert ) {
		ergebnis = wert * wert;
		
		return ergebnis;
		}
	
		public static double ergebnis2;
		
		public static double wurzel (double wert2 ) 
		{
		ergebnis2 = sqrt(wert2); 
		return ergebnis2;
		}
		
		
		public static void main(String[] args) {
		// TODO Auto-generated method stub
			
		System.out.println("Das Quadrat von 4 ist " + quadrat(4));
			
		System.out.println("Das Ergebnis der Rechnung ist " + ergebnis);	
			  
		System.out.println("Die Wurzel der Zahl 4 ist " + wurzel(4));
		
		System.out.println("Das Ergebnis der Rechnung ist " + ergebnis2);
		
		
		} 
			}
```


----------



## frapo (18. Jul 2009)

Die import-Anweisung brauchst du nicht. Math liegt in java.lang.* und Klassen darin müssen nicht explizit importiert werden. 

Das zweite wären die Variablen ergebnis und ergebnis2, die brauchst du auch nicht. Da steht ja nur das du statische Methoden, nicht aber zusätzlich statische Variablen, erstellen sollst:


```
package paketaufgabe4;

public class MeineRechnungen {
        // Quadratwurzel
	public static double quadratwurzel(double wert) {
		return Math.sqrt(wert);
	}

	// Quadrat von int-Wert
	public static int quadrat(int wert) {
		return wert * wert;
	}
	
        // Quadrat von double-Wert
	public static double quadrat(double wert) {
		return wert * wert;
	}
}
```

So wie ich die Aufgabe verstanden habe muss der Rest, also die main-Methode, in eine andere Klasse, in einem anderen Projekt, in einem anderen eclipse-Workspace sein.

edit: x in wert geändert.


----------



## pascalos (18. Jul 2009)

wie sieht denn der java code aus im anderen projekt für die rechnung?????

so das die werte dann übergeben werden????


----------



## pascalos (18. Jul 2009)

```
public static double quadrat(double x) {
        return wert * wert;
```

hier zeigt er mir einen fehler an. multiple markers at this line.....  

kommt da anstatt return wert * wert evtl. return x*x????


----------



## frapo (18. Jul 2009)

Im Grunde so wie du es schon hast: 


```
import paketaufgabe4.*;

public class TestKlasse {
	public static void main(String[] args) {
		System.out.println("Das Quadrat von 4 ist " + MeineRechnungen.quadrat(4));
	}
}
```

Da alles statisch ist brauchst du ja von der Klasse MeineRechnungen keine Instanz erzeugen.


----------



## frapo (18. Jul 2009)

pascalos hat gesagt.:


> ```
> public static double quadrat(double x) {
> return wert * wert;
> ```
> ...



Genau.. x muss natürlich auch wert heißen


----------



## pascalos (18. Jul 2009)

Der Aufruf soll aber nur durch den namen quadrat() erfolgen. Welcher Typ verarbeitet werden soll, muss die Funktion selbst anhand des Arguments feststellen können.

kannst du mir erklären wa damit gemeint ist???

und den code????


vielen vielen dank schonmal fü die rasche Hilfe und das um die uhrzeit!!!!!!


----------



## Painii (18. Jul 2009)

pascalos hat gesagt.:


> Der Aufruf soll aber nur durch den namen quadrat() erfolgen. Welcher Typ verarbeitet werden soll, muss die Funktion selbst anhand des Arguments feststellen können.


Hmm...
Man könnte quadrat so aufrufen, ist aber nicht so wirklich sinn der Sache würd ich raten: (man würde dann 2 static variablen brauchen und die vor jedem quadrat setzen)

```
MeineRechnungen.quadrat(){
 //Woher soll quadrat wissen was es rechnen soll?
}
```

Jetzt gibts eigentlich nur eine Möglichkeit:
Genau wie du es schon hast 2 Funktionen quadrat, eine mit int eine mit double (java sucht dann die richtige raus je nachdem wie das argument aussieht)
kannst du mir erklären wa damit gemeint ist???
Ansonsten müsste ja eine Funktion quadrat zwei verschiedene Rückgabetypen haben, und das geht nicht:

```
public static (int OR double) quadrat(double int) //geht nicht
```



> kannst du mir erklären wa damit gemeint ist???


Bei solchen Fragen wende dich an den der die Aufgabe gestellt hat, wir können hier nur raten was gemeint ist


----------



## pascalos (18. Jul 2009)

so ich habe jetzt ein neues Projekt mit dem namen :

Fortsetzung_Einsendeaufgabe_7_4

da drin dann das Paket:

paketaufgabe4;

und die Klasse:

TestKlasse

So wenn ich nun in der TestKlasse die importanweisung aus dem Projekt Einsendeaufgabe74 mache zeigt eclipse mir einen fehler an. 
The import Einsendeaufgabe74 cannot be resolved...

was bedeutet das???

hier ist der code 



```
package paketaufgabe4;

import Einsendeaufgabe74.aufgabe4.*;

public class TestKlasse {

	
	public static void main(String[] args) {
        System.out.println("Das Quadrat von 4 ist " + MeineRechnungen.quadrat(4));
	
        System.out.println("Das Quadrat von 5.3 ist " + MeineRechnungen.quadrat(5.3));
        
        System.out.println("Die Quadratwurzel von 4 ist " + MeineRechnungen.quadratwurzel(4));


	}

}
```


----------



## pascalos (18. Jul 2009)

habe mein Problem gelöst bekommen!!!!!

habe es jetzt so gemacht:
Hier meine komplette aufgabe:


```
package aufgabe4;


	/* ######################################################################
	 
	 							Einsendeaufgabe 7.4
	 							
	###################################################################### */
	


public class MeineRechnungen {
        // Quadratwurzel
    public static double quadratwurzel(double wert) {
        return Math.sqrt(wert);
    }
 
    // Quadrat von int-Wert
    public static int quadrat(int wert) {
        return wert * wert;
    }
    
        // Quadrat von double-Wert
    public static double quadrat(double wert) {
       
		return wert * wert;

    }

    
	}


package paketaufgabe4;

import aufgabe4.MeineRechnungen;

public class TestKlasse {

	
	public static void main(String[] args) {
        System.out.println("Das Quadrat von 4 ist " + MeineRechnungen.quadrat(4));
	
        System.out.println("Das Quadrat von 5.3 ist " + MeineRechnungen.quadrat(5.3));
        
        System.out.println("Die Quadratwurzel von 4 ist " + MeineRechnungen.quadratwurzel(4));


	}

}
```

Ich denke damit habe ich die Augabe gelöst bekommen. Danke an alle die mir dabei geholfen haben.

Thema kann geschlossen werde!!!!!!


----------



## Marco13 (18. Jul 2009)

frapo hat gesagt.:


> Die import-Anweisung brauchst du nicht. Math liegt in java.lang.* und Klassen darin müssen nicht explizit importiert werden.



Mit dem static import kann man aber überall schreiben
sqrt(x);
statt
Math.sqrt(x);

Sollte man aber sparsam einsetzen.


----------

