# Scanner Variable Klassenimtern deklarieren



## itssimsch (1. Mrz 2018)

Ich habe dieses einfache Programm geschrieben und bekomme aber einen Error. Dieser besagt dass er die Variablen der Scanner nicht finden kann. Laut Google soll ich dazu die Variablen außerhalb jeglicher Methoden demlarieren, ich weiß aber nicht wie das gehen soll da die variable ja ein Scanner ist und dieser genau an der Stelle sein soll wo er jetzt gerade ist.**** bei double Summe = ..... Sollte eigentlich eine int Summe sein mit allen 5 zahlen Variablen


----------



## Flown (1. Mrz 2018)

1. Bitte Code nicht im Bild einfügen sonder zwischen Code-Tags: [code=java]//JAVA CODE HERE[/code]
2. Er meckert rum, weil du mit readLine() einen String zurückbekommst und diese dann konkatenierst. Was du brauchst ist, dass du 2 readDouble aufrufst und dann addierst.
3. Es reicht einen Instanz von Scanner. Mehr führen zu Problemen.
4. Du solltest auch die Rückgaben von den Scanner Methoden speichern.


----------



## itssimsch (1. Mrz 2018)

Mir fällt gerade auf ich habe das falsche Bild hochgeladen. Hab den Code gerade nicht bei der Handy, schreibe das gerade am Handy, tut mir Leid.


----------



## itssimsch (3. Mrz 2018)

Falls meine Frage nicht verstanden wurde:
Ich will eine Variable zahl1=java.util.Scanner(System.in).nextInt so deklarieren, dass ich von anderen Methoden noch darauf zugreifen kann, was im Moment nicht der Fall ist, da ich ja mehrere Methoden habe, wenn man auf das Bild schaut.
PS: Finde diese Option für den Java Code nicht, kann mir jemand helfen?


----------



## Flown (3. Mrz 2018)

Methoden können Parameter übergeben werden, warum nicht deinen Scanner?


----------



## MiMij (4. Mrz 2018)

itssimsch hat gesagt.:


> PS: Finde diese Option für den Java Code nicht, kann mir jemand helfen?


Entweder du schreibst die Tags selber oder du nimmt den 4. Button von rechts "Einfügen..."
Dort auf Code -> Java auswählen und deinen Code dort einfügen. Fertig.


----------



## itssimsch (5. Mrz 2018)

Flown hat gesagt.:


> Methoden können Parameter übergeben werden, warum nicht deinen Scanner?


Bin ein Anfänger, verstehe nicht ganz was sie damit meinen.


----------



## Javinner (5. Mrz 2018)

@itssimsch
Ebenso hilfreich: https://www.java-forum.org/help/bb-codes



> Bin ein Anfänger, verstehe nicht ganz was sie damit meinen


Entweder `Du` oder `Sie`


----------



## Flown (5. Mrz 2018)

Grundsätzlich ist in einem Forum immer ein klassisches "DU" zu nutzen.

Was ich meinte ist einer Methode einen Parameter übergeben:

```
class Test {
  public static void main(String[] args) {
    int a = 2;
    int b = 2;
    int sum = add(a, b);
    System.out.println(a + " + " + b + " = " + sum);
  }

  public int add(int a, int b) {
    return a + b;
  }
}
```


----------



## itssimsch (5. Mrz 2018)

Flown hat gesagt.:


> Grundsätzlich ist in einem Forum immer ein klassisches "DU" zu nutzen.
> 
> Was ich meinte ist einer Methode einen Parameter übergeben:
> 
> ...


Kann ich dann, nachdem ich die Variable in dem Parameterbereich der Methode(Heißt das so?) mit "int i" deklariert habe, dann im Nachhinein sagen i = java.util.... und auch aus anderen Methoden darauf zugreifen? Dann wäre meine Frage geklärt, falls ja.
Danke trotzdem für die vielen Antworten.


----------



## Flown (5. Mrz 2018)

Ich würde dir vorschlagen die Grundlagen nochmal durchzugehen. Grundsätzliches Verstädnis von Methoden sind hier von Nöten und auch Datentypen. Such dir ein nettes Tutorial im Internet und leg nochmal los.


----------



## itssimsch (7. Mrz 2018)

Jo, danke für die vielen Antworten


----------



## itssimsch (16. Mrz 2018)

Falls es jemanden hilft:
Habe herausgefunden, dass man Variablen außerhalb einer Methode deklarieren kann, und dann in einer Methode sie dann initialisieren kann. Allerdings muss sie mit static deklariert werden. Auch hoffe ich dass alles was ich gerade geschrieben habe, richtig ist.


----------

