# Ein-/Ausgabe (Scanner)



## Bismark (6. Juli 2009)

Hallo Leute,

ich habe folgendes Programm geschrieben:


```
import java.io.*;
import java.util.Scanner;
import java.lang.String;

public class HalloWelt
{
 double euro, dollar, kurs;
 
  public static void main (String[] args)
  {
  Scanner sc = new Scanner(System.in);
  System.console().printf("Geben Sie den Eurowert ein: ");
  euro = sc.nextDouble();
  
  System.console().printf("\nGeben Sie den Wechselkurs vom Euro zu dollar ein: ");
  kurs = sc.nextDouble();
  dollar = euro*kurs;
  System.console().printf("\nDer Dollarwert beträgt: " + dollar + " $");
  }
}
```

Als Fehler kommen folgende sachen heraus:

HalloWelt.java:13:3: non-static variable euro cannot be referenced from a static context
  euro = sc.nextDouble();
  ^
HalloWelt.java:16:3: non-static variable kurs cannot be referenced from a static context
  kurs = sc.nextDouble();
  ^
HalloWelt.java:17:3: non-static variable dollar cannot be referenced from a static context
  dollar = euro*kurs;
  ^
HalloWelt.java:17:12: non-static variable euro cannot be referenced from a static context
  dollar = euro*kurs;
           ^
HalloWelt.java:17:17: non-static variable kurs cannot be referenced from a static context
  dollar = euro*kurs;
                ^
HalloWelt.java:18:58: non-static variable dollar cannot be referenced from a static context
  System.console().printf("\nDer Dollarwert beträgt: " + dollar + " $");
                                                         ^


Die Fehelrmeldungen Helfen mir nicht wirklich, da ich für die Eingabe den Scanner meines Wissen nach richtig erstelt habe. Ich hoffe ihr könnt mir weiterhelfenerstellt.


----------



## DosCoder (6. Juli 2009)

Hi
probiers mal hiermit als Deklaration der Instanzveriablen:

```
static double euro;
static double kurs;
static double dollar;
```

PS: Wer Englisch kann, hat klare Vorteile beim Programmieren:
_non-static variable euro cannot be referenced from a static context_ heißt auf deutsch
_unstatische Variable euro kann nicht in einem statischen Kontext aufgerufen/verändert werden._
Ciao
DosCoder


----------



## jeipack (7. Juli 2009)

Hi
Ich würde das ganze nicht in die main Methode packen sondern in den Konstruktor:


```
import java.io.*;
import java.util.Scanner;
import java.lang.String;

public class HalloWelt
{
	double euro, dollar, kurs;

	public HalloWelt() {
		Scanner sc = new Scanner(System.in);
		System.out.println("Geben Sie den Eurowert ein: ");
		euro = sc.nextDouble();

		System.out.println("\nGeben Sie den Wechselkurs vom Euro zu dollar ein: ");
		kurs = sc.nextDouble();
		dollar = euro*kurs;
		System.out.println("\nDer Dollarwert beträgt: " + dollar + " $");
	}


	public static void main (String[] args)
	{
		HalloWelt welt = new HalloWelt();
	}
}
```

Hab dir zusätzlich noch System.console().printf durch System.out.println ersetzt.


----------

