# Summation



## javabeginner241 (1. Jul 2012)

Hallo zusammen,

ich soll als Hausaufgabe eine Java-Programm in Eclipse schreiben, das die Summe aller ganzen Zahlen von 1 bis 100 (d.h. 1+2+3... +99+100) berechnet und am Bildschirm ausgibt.

ich weiß nur leider nicht wie ich am Besten anfangen soll. Mit einer Schleife oder wie soll ich da ran gehen?

wär supi wenn ihr mir helfen könntet


----------



## XHelp (1. Jul 2012)

Ja, eine Schleife kann da sicherlich nicht schaden.

Was hast du denn bis jetzt?


----------



## vanny (1. Jul 2012)

Ich halte eigntl. nichts davon fremde Hausaufgaben zu lösen aber bei der Pillepallenummer ist mir ne Erklärung zuviel.


```
public class Summation {
	
	public static void main(String[] args) {
		
		int summe = 0;
		
		for(int i=1; i<=100; i++){
			summe += i;
			System.out.println("nach der Addition von " + i + " ist das Ergebnis = " + summe);
		}
		
	}

}
```


----------



## bERt0r (1. Jul 2012)

Ich konnts mir nicht verkneifen: Summation (Neurophysiologie) ? Wikipedia


> Unter Summation versteht man die Verrechnung (Integration) von in der Nervenzelle eintreffenden Nervenimpulsen, die entweder eine erregende (exzitatorische) oder eine hemmende (inhibitorische) Wirkung auf das Entstehen eines Aktionspotentials haben können. Die eintreffenden erregenden bzw. hemmenden Potentiale (EPSP bzw. IPSP) werden räumlich sowie zeitlich summiert:


!?!?!?!?!??!?


----------



## vanny (1. Jul 2012)

@bERt0r

man muss nicht alles verstehen ^^


----------



## bwbg (1. Jul 2012)

Warum Rechenzeit mit sinnfreien Schleifen verschwenden? :bae:


```
public class Hausaufgabe {

	public static void main(String[] args) {
		System.out.println("Einfach: " + einfacheLösung(100));
		System.out.println("Clever: " + clevereLösung(100));
	}
	
	static long einfacheLösung(long n) {
		long result = 0;
		for(; n > 0; --n) {
			result += n;
		}
		
		return result;
	}
	
	static long clevereLösung(long n) {
		return n * n / 2 + n / 2;
	}
	
	/* Den Lösungsweg erklären können: Unbezahlbar */
}
```

... ich konnte nicht anders.

Grüße ... bwbg


----------



## Hobbes (1. Jul 2012)

bwbg hat gesagt.:


> W
> 
> 
> 
> ...



Funktioniert aber nicht mit ungeraden Zahlen 

Richtig wäre


```
static long clevereUndRichtigeLoesung(long n) {
   return (n*(n+1))/2;
}
```


----------



## bwbg (1. Jul 2012)

Verdammt. Ich schiebs auf das Zuwenig an Kaffee :lol:

Ansonsten kann man das Thema abtrennen, um mehr (und vor allem kreativere) faule Ausreden zu erfassen.

Grüße ... bwbg


----------



## vanny (1. Jul 2012)

bwbg hat gesagt.:


> Warum Rechenzeit mit sinnfreien Schleifen verschwenden? :bae:...



Weil es in diesem Fall keinen spürbaren Unterschied macht und der TO damit zu 99% überfordert ist:autsch:


----------



## javabeginner241 (6. Jul 2012)

vielen vielen Dank euch allen 

ich hab alllerdings noch eine Frage zu System.out.prinln. Was mache ich bei der eingabe immer falsch, dass mir eclipse immer den fehler anzeigt dass er nicht mit (String, String) ausgibt wenn ich das hier eingebe. er mach mir auch immer gleich alles blau obwohl ich das gar nicht will und meine Attributvariablen sind ja auch nicht alle vom Datentyp String deklariert.

ich möchte einfach alles in einem Schwung in der klammer ausgeben und nicht nach jedenm immer wieder system.out.println schreiben wollen  



```
public class Gummibaerchen {
	
	private String farbe;
	private long zutatenAnzahl;
	private Tuete tuete; 
	private String geschmacksrichtung;
	private double gewicht;
	private double groesse;
	
	
	
	
	
	
	public void ausgeben(){
		System.out.println("Farbe: " + farbe, "Zutatenanzahl: " + zutatenAnzahl);
}
```


----------



## ARadauer (6. Jul 2012)

WEil er nicht mit String, String umgehen kann.

System.out.println("Farbe: " + farbe + ", Zutatenanzahl: " + zutatenAnzahl);


----------



## javabeginner241 (6. Jul 2012)

also nur wegen String farbe, weil zutatenanzahl wäre dann ja  mit datentyp long kein problem oder?

Würde das dann gar nicht in einem schwung gehen?


----------



## ARadauer (6. Jul 2012)

du kannst an println nur einen Parameter übergeben


----------



## javabeginner241 (6. Jul 2012)

ah okay hat sich erledigt habs verstanden, die " anders setzen ^^


----------

