2017-01-09 6 views
0

プログラムでは、以下の手順を使用してEURをドルで換算します。一般に、この手順はどの通貨でも正常に機能します。過去のユーロからユーロへの換算

public double getRate(String from, String to) 
{ 
    BufferedReader reader = null; 
    try 
    { 
     URL url = new URL("http://quote.yahoo.com/d/quotes.csv?f=l1&s=" + from + to + "=X"); 
     reader = new BufferedReader(new InputStreamReader(url.openStream())); 

     String line = reader.readLine(); 

     if (line.length() > 0) 
     { 
      return Double.parseDouble(line); 
     } 
    } 
    catch (IOException | NumberFormatException e) 
    { 
     System.out.println(e.getMessage()); 
    } 
    finally 
    { 
     if (reader != null) 
     { 
      try 
      { 
       reader.close(); 
      } 
      catch(IOException e) 
      { 
      } 
     } 
    } 

    return 0; 
} 

私の問題は、履歴データの同様の方法を作成したいということです。私はこの方法で呼び出すことができます

public double getRate(String from, String to, Date date) { 
    ... 
} 

getRate("USD", "EUR", new SimpleDateFormat("yyyyMMdd").parse("20160104")) 

を1 2016年1月4日で$または任意のユーロの値を取得するには基本的に、私は次のシグネチャを持つメソッドが必要過去の日付。私はStackOverflowや他の同様のウェブサイトのスレッドをたくさん読んだ。無料サービスを利用したソリューションが必要です。

+0

yahooはこの種のデータを提供していますか? – wvdz

+2

これはJavaでコード化する方法や、過去のコンバージョン率を得るためにウェブサイトを使用する方法に関する質問ですか? –

+0

どちらも重要なのは第2のものです。この情報をWebから取得する方法が必要です。 Javaコードもあれば良いですが、自分で実装することもできます。 –

答えて

0

Bergerのおかげで、私の方法を実装することができました。ここでそれはどのように見えるのですか?私は、このフォーラムの誰か他の人にとって役に立つと思っています。

public double getRate(String from, String to, Date date) { 
    BufferedReader reader = null; 
    try { 
     DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 
     String dateString = df.format(date); 
     URL url = new URL("http://currencies.apps.grandtrunk.net/getrate/" + dateString +"/" + from + "/" + to); 
     reader = new BufferedReader(new InputStreamReader(url.openStream())); 
     String line = reader.readLine(); 
     if (line.length() > 0) { 
      return Double.parseDouble(line); 
     } 
    } catch (IOException | NumberFormatException e) { 
     System.out.println(e.getMessage()); 
    } finally { 
     if (reader != null) try { reader.close(); } catch(IOException e) {} 
    } 

    return 0; 
} 
関連する問題