Ein-/Ausgabe (Scanner)

Bismark

Erfahrenes Mitglied
Hallo Leute,

ich habe folgendes Programm geschrieben:

Code:
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. :(
 
Hi
probiers mal hiermit als Deklaration der Instanzveriablen:
Java:
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
 
Zuletzt bearbeitet:
Hi
Ich würde das ganze nicht in die main Methode packen sondern in den Konstruktor:

Java:
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.
 

Neue Beiträge

Zurück