# Methode Summe von ungeraden Zahlen



## redbuttler (30. November 2007)

hallo,


ich möchte eine Methode schreiben, die die Summe der ersten n ungeraden Zahlen berechnen kann. 

Kenn mich mit Java leider garnicht aus, aber vielleicht kann mir jemand zumindest einen Tipp geben, wie man das realisieren kann.

Grüße


----------



## Matze (30. November 2007)

Erstmal ne Frage: Woher bekommst du die Zahlen oder gehst du davon aus dass ab 0 begonnen wird?

Weißst du was der Modulo ist? Wenn du eine Zahle Modulo einer anderen Zahl nimmst, dann bekommst du den ganzahligen Restwert einer Division. Wenn du also

```
//% ist hier der Modulo Operatort, nicht Prozent 
Zahl % 2
```
nimmst, und es kommt 0 heraus, dann ist die Zahl gerade, ansonnsten ist sie ungerade.


----------



## MiMi (30. November 2007)

Naja, fang an um dir die ungeraden Zahlen ausgeben zu lassen, fang bei 1 an, und Zahl +2 ergibt die naechste ungerade Zahl. Das machst du solange bis du die Anzahl n hast. Jede Zahl einfahc in ein Array mit der groesse n speichern. Dann laeufst du durch das Array und zaehlst alle zahlen zusammen.


----------



## matdacat (30. November 2007)

;-)


```
public int Summe_der_ersten_n_ungeraden_Zahlen(int n) {
  return n*n;
}
```


----------



## MiMi (30. November 2007)

> der ersten n ungeraden Zahlen


Also zb der *ersten *5 ungeraden Zahlen
1,3,5,7,9 = 25


----------



## MiMi (30. November 2007)

@Matdacat
Ja so gehts natuerlich noch einfacher, als die alle einzeln zusammenzurechnen 


Edit: Achja Mat, MethodenNamen schreibt man klein ^^


----------



## Chefkoch333 (30. November 2007)

Gibt es da nicht auch eine Summenfunktion
Das wäre dann sicher performanter.


----------



## hot_wax (30. November 2007)

Hier ist so etwas. Vllt ist es das was du brauchst:


```
public class AddAllOddNumbers {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println( addNumbers( 5 ) ); // Gibt 25 aus! 1+3+5+7+9 = 25
	}
	static int addNumbers( int n ) {
		int total  = 0;
		int number = 1;
		for( int i = 1; i <= n; i++ ) { 
			total  += number;
			number += 2;
		}
		return total;
	}

}
```


----------



## MiMi (30. November 2007)

Was bringt es dem User, wenn ihr ihm die Loesungen komplett vorgebt, und er net mal selber ueberlegen muss?! 

@HotWax
Genau das hatte ich beschrieben!


----------



## Chefkoch333 (30. November 2007)

hier noch eine Alternativlösung,
sollte um Faktor n Performanter sein:

```
public class AddAllOddNumbers {
       
          /**
           * @param args
           */
          public static void main(String[] args) {
              System.out.println( addNumbers( 5 ) ); // Gibt 25 aus! 1+3+5+7+9 = 25
          }
          static int addNumbers( int n ) {
              return n*n;
          }
      }
```


----------



## MiMi (30. November 2007)

Lol Chefkoch
schau mal was matdacat, vor einigen Stunden geschrieben hat.


----------



## Chefkoch333 (30. November 2007)

ach seh gerade das Post von matdacat ;-)


----------



## Chefkoch333 (30. November 2007)

ja genau! sorry für die doppel Antwort, ich weiss erst lesen dann schreiben


----------



## redbuttler (1. Dezember 2007)

ja ok, vielen Dank, ich hätte noch eine Frage hinterher, 

wenn man in Java schreibt: " import javax.swing.*;  " was bedeutet da der Stern, heisst das einfach das man alle Klassen importiert? 

Danke schonmal
Grüße


----------



## hot_wax (1. Dezember 2007)

redbuttler hat gesagt.:


> ja ok, vielen Dank, ich hätte noch eine Frage hinterher,
> 
> wenn man in Java schreibt: " import javax.swing.*;  " was bedeutet da der Stern, heisst das einfach das man alle Klassen importiert?
> 
> ...



Der Stern * hat meistens die bedeutung alles. Das heißt das die Ganze Libary von Swing importiert wird. ODer irre ich mich


----------

