Variable aus dem Web Netz Internet URL bestimmen

ttobiw

Mitglied
Hallo,

ich möchte mir ein kleines Javaprogramm basteln, jedoch bin ich noch Neuling und habe daher noch nicht so viel Erfahrung. :bahnhof:

Mein "Wunsch" Javaprogramm sieht so aus:

- Es holt sich von einer Internetseite den aktuellen Kurs z.B. vom US-Dollar

Zur Zeit ist in meinem Programm einfach der Kurs fest hinterlegt. ( double = 1.44 )
Es sollte dann zB ( double = a ) heißen und das "a" wird automatisch durch den Wert von der Webseite bestimmt.

Eine Umwandlung des Währungskurses von der Webseite - sofern nur als String möglich - würde ich dann via " Double.parseDouble " vornehmen.

Muss dafür eine besondere Webseite ausgesucht werden oder kann ich zB. eine www. comdirekt. de oder www. finanzen. net verwenden?

Zusatz:

Da der Typ Double keine Währungsformatierung kennt wäre es klasse aus einem Wert wie z.B. 11345.56744 die Währungszahl: 11.345,56 zu erhalten (Also mit x.xxx.xxx.xxx.xxx,xx Formatierung).

Optional könnte zusätzlich eine Rundung an der 2 Nachkommastelle geschehen. Im Beispiel würde das dann 11.345,57 ergeben.

Danke für Deine Hilfestellung! :toll:

Gruß
 
T

Tomate_Salat

Gast
1.) das mit aktuellen Kursen holen ist immer so eine Sache, nicht jeder Anbieter erlaubt das einfach so
2.) du bist Neuling wie du sagst, wieviel Erfahrung hast du denn?
Hast du schonmal mit InputStreams gearbeitet? Websitenparsen ist nicht ohne, einfacher wäre es, wenn es eine XML-Schnittstelle o.ä. gebe.
3.) Darstellung: Soll das ganze ein GUI besitzen oder wird das eine Consolenanwendung? Wenn ersteres: hast du schonmal damit gearbeitet?

Sollte das dein erstes Projekt sein und du beantwortest mir die Fragen in Punkt 2) und 3) mit nein, dann solltest du dich erstmal da reinarbeiten und ggf. kleine Projekte realisieren, die diese Themen behandeln.
 

ttobiw

Mitglied
Zu 1.)
Dann sind die Daten nicht frei zugänglich ?! Auch nicht bei google - oder ändert sich dort die Seite so oft, dass die Verlinkungen falsch werden?

Zu 2.)
Ähm nein, InputStreams, Websitenparsen XML-Schnittstelle kenn ich noch nicht. ^^ Dann werde ich dazu was lesen. Danke, jetzt weiß ich zumindest wo nach ich suchen muss wenn ich mein Projekt irgendwann fertigt bekommen möchte. :)

Zu 3.)
Damit habe ich mich schon ein bisschen beschäftigt, das wäre kein Thema. ;)

DANKE :)

PS: Freu mich über weitere Tipps und Ideen :)
 
T

Tomate_Salat

Gast
1.) Nein, oftmals nicht. Habe bisher einige Threads gelesen, wo sich die TO's Seiten ausgesucht haben, die es nicht erlaubt hatten.
2.) In dem Zusammenhang, schau dir auch die Klasse URL an, über die wirst du später den InputStream bekommen zum Auslesen des quelltextes. Zu XML: schau dir auch gleich XSD an, dann kannst du schön mit JAXB arbeiten.

und zum Abschluss: beantworte die bestätigungsemail ;-)
 

ttobiw

Mitglied
Hallo,

habe nun eine Webseite gefunden, die aktuelle Währungskurse zur Verfügung stellt. Leider sind dort weitere angegeben - ich möchte jedoch nur den USD Kurs haben und davon auch nur die Zahl...

Bis jetzt sieht mein Code so aus:

Java:
import java.net.*;
import java.io.*;

public class Waehrung {
    public static void main(String[] args) throws Exception {
	
    URL waehrung = new URL("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
	
    BufferedReader in = new BufferedReader(
				new InputStreamReader(
				waehrung.openStream()));

	String inputLine;
	
	 try {
      	while ((inputLine = in.readLine()) != null) {
		    if (inputLine.indexOf("US") != -1)
			
		    	System.out.println(inputLine.substring(inputLine.indexOf("US"))); 
		    }
	      }       
 
    
     catch (IOException e) {
           e.printStackTrace();
  	       System.exit(-1);
 	       }
   
	in.close();   

    }
}

Ich suche dabei nach "USD" im Sting und erhalte dann: USD' rate='1.4814'/> nun würde ich jedoch gerne nur die Zahl bekommen - also ab Stelle 12 bis 17. Wie mach ich das?

Danke für Eure Hilfe!
 
G

Gast2

Gast
[c]http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml[/c] <- Das ist doch ein XML Dokument? Warum willst du da irgendwie mit Strings rummachen? Nimm lieber eine XML lib zur Hilfe (JDOM, DOM4J, etc...) und navigiere direkt im XML Dokument.
 

ttobiw

Mitglied
Java:
 while ((inputLine = in.readLine()) != null) {
            if (inputLine.indexOf("US") != -1)
            
                System.out.println(inputLine.substring(inputLine.indexOf("US")));

Müsste ich dann hier nochmal zusätzlich substring einfügen - also " inputLine.substring(12) "?

wo mach ich das am besten bzw. wie würde der Code aussehen? ^^


@fassy

Das kann ich noch nicht ^^

Möchte das Problem mit den "einfachsten Mitteln" für Newbies lösen. ;)

... und wenn die Quelle (URL) wechseln sollte, dann sollte der Code nicht XML abhängig sein.
 

ttobiw

Mitglied
yuhu, danke - habe nun den Dollar-Wert via substring:

Java:
System.out.println(inputLine.substring(30,36));
 

ttobiw

Mitglied
Warum kann ich meinen gefilterten String nicht als String xyz speichern?

Habe statt:

System.out.println(inputLine.substring(30,36));

geschrieben:

String dollar = inputLine.substring(30,36);

Das müsste dann doch genau die gleichen Stellen (wie sie auf der Console ausgegeben werden würden) als Variable "dollar" speichern bzw. verwenden - oder habe ich da einen groben Denkfehler? ^^

Danke für Eure Hilfe!
 
G

Gast2

Gast
@fassy

Das kann ich noch nicht ^^

Möchte das Problem mit den "einfachsten Mitteln" für Newbies lösen. ;)

... und wenn die Quelle (URL) wechseln sollte, dann sollte der Code nicht XML abhängig sein.

Erm, wenn sich die URL und somit das XML File ändert, dann wird deine Lösung auch nicht mehr funktionieren ;)

Warum kann ich meinen gefilterten String nicht als String xyz speichern?
[...]
String dollar = inputLine.substring(30,36);

Das müsste dann doch genau die gleichen Stellen (wie sie auf der Console ausgegeben werden würden) als Variable "dollar" speichern bzw. verwenden - oder habe ich da einen groben Denkfehler? ^^

Kein Denkfehler. Wo hast du denn damit ein Problem?
 

ttobiw

Mitglied
Mhh das klappt nicht ^^

Hier nochmal der gesamte Code - was mach ich falsch?

Java:
import java.net.*;
import java.io.*;

public class URLReader {
    public static void main(String[] args) throws Exception {
	
    URL waehrung = new URL("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
	
    BufferedReader in = new BufferedReader(
				new InputStreamReader(
				waehrung.openStream()));

	String inputLine;
		
	try {
      	  while ((inputLine = in.readLine()) != null) {
		        if (inputLine.indexOf("US") != -1)
		
       //statt:  
		        System.out.println(inputLine.substring(30,36));    //Ausgabe: 1.4814 
       
	   // soll "dollarkurs" den Wert der Ausgabe - also 1.4814 annehmen:
		        
                String dollarkurs = inputLine.substring(30,36);
      	    }
      	 }
     catch (IOException e) {
           e.printStackTrace();
  	       System.exit(-1);
 	       }
	  in.close();   
	  
	  //Hier sollte dann die String dollarkurs Variable via "dk  = Double.parseDouble( dollarkurs );" 
	  //in einen Double-Typ umgewandelt werden und dann kommt der eigentliche Rechenteil (z.B. EURO * dk) 
	 }
    }
 
G

Gast2

Gast
Du musst die Variabel vorher deklarieren:
Java:
	public static void main(String[] args) throws Exception {

		URL waehrung = new URL(
				"http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");

		BufferedReader in = new BufferedReader(new InputStreamReader(
				waehrung.openStream()));

		String inputLine;
		String dollarkurs = null;
		try {
			while ((inputLine = in.readLine()) != null) {
				if (inputLine.indexOf("US") != -1)

					// statt:
					System.out.println(inputLine.substring(30, 36)); // Ausgabe:
																		// 1.4814

				// soll "dollarkurs" den Wert der Ausgabe - also 1.4814
				// annehmen:

				dollarkurs = inputLine.substring(30, 36);
			}
		} catch (IOException e) {
			e.printStackTrace();
			System.exit(-1);
		}
		in.close();

		if(dollarkurs != null){
		Double dk = Double.parseDouble( dollarkurs );
		// Hier sollte dann die String dollarkurs Variable via
		// "dk  = Double.parseDouble( dollarkurs );"
		// in einen Double-Typ umgewandelt werden und dann kommt der eigentliche
		// Rechenteil (z.B. EURO * dk)
		} else {
			System.err.println("Could not get dollar price from URL");
		}
	}

Du solltest generell ir noch ein bisschen was zur Fehlerbehandlung überlegen... Deine Substring Lösung ist nicht sonderlich robust und extrem fehleranfällig.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
E Variable von 1. Fenster an 2. Fenster übergeben. Java Basics - Anfänger-Themen 7
T Variable in Schleife deklarieren, Speicherplatz, Garbage Collector Java Basics - Anfänger-Themen 10
T Datum als Variable wert Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
Say super.methode / super.variable und super(variable) Java Basics - Anfänger-Themen 2
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
U Wie mache ich die Variable xyz eindeutig/unique? Java Basics - Anfänger-Themen 20
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Variable Felderanzahl Java Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
M Variable in einer Schleife initialisieren Java Basics - Anfänger-Themen 46
W Schleife und einmal variable++ zu viel Java Basics - Anfänger-Themen 20
M String mit Variable vergleichen Java Basics - Anfänger-Themen 9
M Methoden Wert einer Variable geht verloren? Java Basics - Anfänger-Themen 6
G variable kopieren bzw. woanders benutzen Java Basics - Anfänger-Themen 6
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
J Double Variable und Addition Java Basics - Anfänger-Themen 2
I Variable innerhalb Methode: Local variable test defined in an enclosing scope must be final or effectively final Java Basics - Anfänger-Themen 3
KogoroMori21 Variable im Parameter und Ohne Java Basics - Anfänger-Themen 5
Vivien Auf eine Variable von einer anderen Klasse aus zugreifen Java Basics - Anfänger-Themen 3
H Datentypen Wertebereich von <Klassenname> <Variable> Java Basics - Anfänger-Themen 12
M Private Variable Java Basics - Anfänger-Themen 2
idontknow707 Matrix nach z.B. Variable durchsuchen Java Basics - Anfänger-Themen 4
T Variable in for Schleife ansprechen ohne Array ? Java Basics - Anfänger-Themen 25
s.marcii Modulo in der Variable einsetzen - ist das möglich? Java Basics - Anfänger-Themen 2
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
Y Wie kann ich die Variable in der Try Catch returnen? Java Basics - Anfänger-Themen 3
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
B Inkrement von Variable Java Basics - Anfänger-Themen 8
V Variablen statische Variable einer Objektvariable zuordnen Java Basics - Anfänger-Themen 3
L Variable von einer Methode zu einer anderen Methode inkl. einer "Zwischenmethode" Java Basics - Anfänger-Themen 1
J JTextField Bezeichnung als Variable Java Basics - Anfänger-Themen 3
N Wie kann ich eine meine Variable Final machen? Java Basics - Anfänger-Themen 1
NeoLexx Variable für Array wird nicht korrekt übergeben Java Basics - Anfänger-Themen 45
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
H Variable um 1 erhört ausgeben Java Basics - Anfänger-Themen 4
V Erste Schritte Eine Array-Variable mit Benutzereingaben befüllen Java Basics - Anfänger-Themen 3
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
P non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 6
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
M Input/Output JTextField Eingabe in String Variable speichern Java Basics - Anfänger-Themen 15
A Kann man eine Methode als Variable speichern und danach noch verändern? Java Basics - Anfänger-Themen 6
L cannot find symbol variable Kon Java Basics - Anfänger-Themen 8
C Statischer Typ aber Variable nicht statisch? Java Basics - Anfänger-Themen 5
H Variable.methode aufstellen, verstehen Java Basics - Anfänger-Themen 2
R Warnung, wenn eine Variable eingegeben wird Java Basics - Anfänger-Themen 6
S Variable einscannen Java Basics - Anfänger-Themen 30
N Best Practice Rückgabe eines Terminal Befehls in eine Variable speichern Java Basics - Anfänger-Themen 27
M Erste Schritte Mit Variable verschiedene Texte in Textfeld einfügen Java Basics - Anfänger-Themen 27
J Input-Variable nicht sichtbar Java Basics - Anfänger-Themen 2
L Warum ist Variable null? Java Basics - Anfänger-Themen 3
E Variable (Vektor) in andere Methode übergeben Java Basics - Anfänger-Themen 4
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
S Variable Parameter Java Basics - Anfänger-Themen 5
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
P if - Statement erkennt variable nicht. Java Basics - Anfänger-Themen 12
J Ungewollte Wertveränderung einer Variable Java Basics - Anfänger-Themen 9
R Variablen Variable an FXML-Controller übergeben Java Basics - Anfänger-Themen 4
J Zugriff auf Variable in anderem Programm Java Basics - Anfänger-Themen 5
R variable istpositiv might not have been initialized Java Basics - Anfänger-Themen 2
A Methodenname aus variable Java Basics - Anfänger-Themen 2
L Variable aus einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 6
P Methode soll Variable einer anderen Klasse ändern. Wie? Java Basics - Anfänger-Themen 1
Hanschyo Variable nicht initialisiert Java Basics - Anfänger-Themen 6
deatzi Variable aus If Abfrage später nutzen Java Basics - Anfänger-Themen 4
L Variable in If-Statement initialisieren Java Basics - Anfänger-Themen 4
C return kann nicht auf variable zugreifen Java Basics - Anfänger-Themen 26
S Wie erstelle ich eine Vorbedingung für eine Variable einer Methode ? Java Basics - Anfänger-Themen 5
S Warum kann ich nicht mehr als eine Variable in einer for Schleife deklarieren ? Java Basics - Anfänger-Themen 1
V Warum speichert meine String-Variable nummerische Werte? Java Basics - Anfänger-Themen 3
J Wert eines Arrays einer Variable zuweisen, sobald der Wert eines anderen Arrays eintritt Java Basics - Anfänger-Themen 2
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
A Erste Schritte Mein Programm erkennt die variable EinAus.readInt nicht Java Basics - Anfänger-Themen 15
Aprendiendo [JAVA-Syntax] (int... variable) bei einem Konstruktor Java Basics - Anfänger-Themen 8
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
Aprendiendo Interpreter-Fehler "non-static variable this cannot be referenced from a static context" Java Basics - Anfänger-Themen 2
D Aufruf einer statischen Variable Java Basics - Anfänger-Themen 1
F [OOP] Auf eine Variable aus meherer Klassen zugreifen Java Basics - Anfänger-Themen 22
D Einer Variable automatisch Zahlen hinzuaadieren Java Basics - Anfänger-Themen 3
BadBat Klassen instanz als variable + methodenaufruf Java Basics - Anfänger-Themen 4
BadBat Variablen Eine Variable mit 2 Typen Java Basics - Anfänger-Themen 38
S Cannot find symbol (symbol ist eine Variable) Java Basics - Anfänger-Themen 13
K String einlesen und als Variable speichern Java Basics - Anfänger-Themen 8
M Variable noch erstellen oder lieber so? Java Basics - Anfänger-Themen 1
G Variable Objektnamen Java Basics - Anfänger-Themen 43
B Variable in mehreren Klassen nutzen Java Basics - Anfänger-Themen 4
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
H Innerhalb einer Methode eine Variable der aufrufenden Methode ändern? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben