# Quersumme berechnen



## JimmyFly (10. Jul 2012)

Hallo zusammen, 

ich soll ein Programm schreiben was die Quersumme von Zahlen berechnet. 
Anfoderungen an das Programm: 

Quersumme soll mit hilfe der statischen Methode _static int quersumme (int n)_ angegeben werden

Für ein unzulässigen Parameter (negativer Wert für n) soll eine Ausnahme der
Klasse MyException ausgelöst werden, aber in der Methode nicht behandelt,
sondern an die aufrufende Methode (in diesem Fall main-Methode)
weitergereicht und dort behandelt werden.


```
import java.util.Scanner;
class MyException extends Exception {
MyException ( ) { //Konstruktor
super („unzulässiger Parameter“); }
} //MyException
```


Mein erster Ansatz dafür  ist: 


```
import java.util.Scanner;

class MyException extends Exception {
	 MyException() { 
	 		super ("unzulässiger Parameter");
	 		}
	 		}
public class Summe {
 
    public static void main(String[] args) {
    
    try{
        System.out.println("Bitte geben Sie die Zahl ein");
        Scanner scanner = new Scanner(System.in);
        String eingabe = scanner.next();
        int zahl = Integer.parseInt(eingabe);
        
        int summe = 0;
        while(zahl > 0) {
            summe += zahl % 10;
            zahl /= 10;
        } System.out.println("Die Quersumme lautet " + summe);}
        catch (MyException e){}         
        
    }
 
}
```
:toll::toll:


Aber dort haben sich einige Fehler eingeschlichen außerdem kann man das eleganter lösen. 

Vielleicht kann mir jemand helfen 

Danke shon mal im vorraus für eure Bemühungen!:toll::toll:


----------



## SlaterB (10. Jul 2012)

> Aber dort haben sich einige Fehler eingeschlichen

kannst du die irgendwie benennen?

dass du der Aufgabe nicht allzu genau folgst, ist offensichtlich, aber doch nicht wirklich eine Frage oder?
"Für ein unzulässigen Parameter (negativer Wert für n) soll eine Ausnahme der
Klasse MyException ausgelöst werden [nö, lieber nicht n prüfen, nirgendwo wird die Exception ausgelöst], 
aber in der Methode nicht behandelt [eigene Methode gibts nicht],
sondern an die aufrufende Methode (in diesem Fall main-Methode)
weitergereicht und dort behandelt werden [behandelt im Sinne von catch ok, aber eine Behandlung lieber nicht, leeres catch]."


----------



## buzz!dev (10. Jul 2012)

An der ersten Zeile deiner Angabe scheitert es schon...


> Quersumme soll mit hilfe der statischen Methode static int quersumme (int n) angegeben werden



Ansonsten, siehe hier: http://www.java-forum.org/java-basics-anfaenger-themen/138772-quersummen-frage.html


----------



## JimmyFly (10. Jul 2012)

oh ja ich sehe gerade das ich mit Strings gearbeitete habe aber ich Aufagbenstellung Integer verlangt


----------



## Gast2 (10. Jul 2012)

Und du hast auch die Methode [c]static int quersumme (int n)[/c] gar nicht implementiert, sondern machst die Berechnung in der main.


----------



## JimmyFly (10. Jul 2012)

wie wäre dann der Ansatz ?


----------



## buzz!dev (10. Jul 2012)

Hast du auf den Link in meinem letzten Beitrag geklickt? Dort stehen genug Ansätze. Bei denen musst du nur noch die Exception ergänzen.


----------



## Crian (10. Jul 2012)

> Für ein unzulässigen Parameter (negativer Wert für n) soll eine Ausnahme der
> Klasse MyException ausgelöst werden



Dafür gibt es eigentlich die 
	
	
	
	





```
IllegalArgumentException
```
. Fehler in der Aufgabenstellung.


----------



## JimmyFly (10. Jul 2012)

buzz!dev hat gesagt.:


> Hast du auf den Link in meinem letzten Beitrag geklickt? Dort stehen genug Ansätze. Bei denen musst du nur noch die Exception ergänzen.



Aber dort wird auch mit String gearbeitet


----------



## Michael... (10. Jul 2012)

JimmyFly hat gesagt.:


> Aber dort wird auch mit String gearbeitet


Es sind ja auch Beispiel Methoden mit int aufgeführt bzw. Deine Berechnung läuft doch bereits mit int. Jetzt musst Du nur noch diesen Teil in eine separate Methode auslagern.
Hinweis: Scanner kennt auch nextInt() um direkt Zahlen zu lesen


----------



## AquaBall (10. Jul 2012)

[OT]
Ist mein Bildschirm kaputt, oder habe ihrh dieselben 'ü' wie ich hier im 1. Post beim Wort 'für' ?








> Für ein unzulässigen Parameter (negativer Wert für n) soll eine Ausnahme der




[/OT]


----------



## buzz!dev (10. Jul 2012)

AquaBall mal wieder hart am Trollen! :lol:
Bevor du nun deinen Bildschirm überstürzt entsorgt, würde ich dir raten, den HTML-Quellcode genauer zu betrachten: 
	
	
	
	





```
F̈r
```
Das ist kein ü, sondern ein Unicode Character 'COMBINING DIAERESIS' (U+0308)


----------



## AquaBall (10. Jul 2012)

buzz!dev hat gesagt.:


> mal wieder hart am Trollen!
> Bevor du nun deinen Bildschirm überstürzt entsorgt, würde ich dir raten, den HTML-Quellcode genauer zu betrachten:
> 
> 
> ...



Wer sich betrollt fühlt, soll bitte nicht weiter lesen!

Ich weiß nicht wie du Trollen verstehst, mich interessiert es, warum mein Bildschirm so schräg daher kommt. Hier im Forum prüfe ich keinen HTML-Code (wüsste gar nicht wie).
Und ich frage mich woher diese Zeichen kommen. Wurden die bewusst eingegeben?

:noe:... bestenfalls OT, aber nicht Troll.


----------



## SlaterB (10. Jul 2012)

merke dir zumindest, dass du auf Zitieren klicken und so den Text zur Analyse kopieren kannst,
notfalls in ein Java-Programm 

vielleicht Texterkennungssoftware


----------



## AquaBall (10. Jul 2012)

Noch immer OT!
(Evtl gehört das in ein Unterforum 'Bugs/Inkompatibilitäten'.)



SlaterB hat gesagt.:


> merke dir zumindest, dass du auf Zitieren klicken und so den Text zur Analyse kopieren kannst,



Meinst du mich und diese 'ü's damit?
Ich hab hier schon zitiert, und dabei habe ich nur normale 'ü's gefunden.
Trotzdem stellen sich diese 'ü' mit verschobenen '..' dar. (nicht an allen Stellen!) 
Im eingefügten Screen-Shot sieht man die Auswirkung. (Bitte genau bei den 'für's schauen.)
Auch im Zitat ist dies der Fall.

Erstaunlich ist, dass ich nun an einem anderen Computer sitze,
und hier erscheinen die Punkte normal!! 

An diesem Rechner arbeite ich mit FF13.
Die Fehler treten am Rechner mit einer etwas älteren (weiß nicht genau welche) Version auf.


----------



## SlaterB (10. Jul 2012)

AquaBall hat gesagt.:


> Ich hab hier schon zitiert, und dabei habe ich nur normale 'ü's gefunden.
> [..]
> Auch im Zitat ist dies der Fall [verschoben].


ist das kein Widerspruch? 
nur anschauen ist generell wenig, kopiere etwa in einen Editor mit Monospace, 
wie man als Java-Programmierer ja sicher zur Verfügung hat,

bzw. Java-Quelltext und die Chars ausgeben, Vergleich zu normal eingetippten 'für' usw.


----------

