public class Exchanger {
//dbb05023d4e92e3b35fb5b735a3ec0015cc348e0/
public static String getExchanger(String message, Model model ) throws IOException {
URL url =new URL("http://api.minfin.com.ua/nbu/dbb05023d4e92e3b35fb5b735a3ec0015cc348e0/");
Scanner in =new Scanner((InputStream)url.getContent());
String result = "";
while (in.hasNext()){
result += in.nextLine();
}
// JSONObject object=new JSONObject(result);
// model.setKey(object.getString("key"));
JSONObject usd = new JSONObject(result);
model.setKey(usd.getString("key"));
model.setBib(usd.getDouble("bib"));
model.setAsk(usd.getDouble("ask"));
return "key"+model.getKey()+"\n"+
"bib"+model.getBib(0.0)+"\n"+
"ask"+model.getAsk(0.0);
//return result;
}
}
Все просто :
import java.io.IOException;
import java.net.URL;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import org.json.JSONObject;
public class Exchanger {
private final static String MINFIN_URL = "http://api.minfin.com.ua/nbu/dbb05023d4e92e3b35fb5b735a3ec0015cc348e0/";
public static List<Model> getExchanger() throws IOException {
try (Scanner s = new Scanner(new URL(MINFIN_URL).openStream()).useDelimiter("\\A")) {
final JSONObject jsonObject = new JSONObject(s.hasNext() ? s.next() : "");
return StreamSupport.stream(jsonObject.names().spliterator(), false)
.map((c) -> {
final JSONObject obj = jsonObject.getJSONObject((String) c);
return new Model(obj.getString("currency"), obj.getDouble("ask"), obj.getDouble("bid"));
})
.collect(Collectors.toList());
}
}
}
class Model {
private final Currency key;
private final Double ask;
private final Double bid;
public Model(String key, Double ask, Double bid) {
this.key = Currency.currencyFromString(key);
this.ask = ask;
this.bid = bid;
}
public Currency getKey() {
return key;
}
public Double getAsk() {
return ask;
}
public Double getBid() {
return bid;
}
@Override
public String toString() {
return "Model{" + "key=" + key + ", ask=" + ask + ", bid=" + bid + '}';
}
}
public enum Currency {
EUR,USD,RUB;
public static Currency currencyFromString(String currencyName){
return java.util.Arrays.stream(Currency.values())
.filter(currency->currency.name().equalsIgnoreCase(currencyName))
.findAny().orElseThrow(UnsupportedOperationException::new);
}
}
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Scanner;
import org.json.JSONObject;
public class Exchanger {
//dbb05023d4e92e3b35fb5b735a3ec0015cc348e0/
public static String getExchanger(String message, Model model) throws IOException {
URL url = new URL("http://api.minfin.com.ua/nbu/dbb05023d4e92e3b35fb5b735a3ec0015cc348e0/");
Scanner in = new Scanner((InputStream) url.getContent());
String result = "";
while (in.hasNext()) result += in.nextLine();
System.out.println(result);
JSONObject object=new JSONObject(result);
JSONObject usd = object.getJSONObject("usd");
model.setKey(usd.getString("currency"));
model.setBib(usd.getDouble("bid"));
model.setAsk(usd.getDouble("ask"));
JSONObject eur=object.getJSONObject("eur");
model.setKey(eur.getString("currency"));
model.setBib(eur.getDouble("bid"));
model.setAsk(eur.getDouble("ask"));
JSONObject rub =object.getJSONObject("rub");
model.setKey(rub.getString("currency"));
model.setBib(rub.getDouble("bid"));
model.setAsk(rub.getDouble("ask"));
return usd.getString("currency")+
usd.getDouble("bid")+
usd.getDouble("ask")+
eur.getString("currency")+
eur.getDouble("bid")+
eur.getDouble("ask")+
rub.getString("currency")+
rub.getDouble("bid")+
rub.getDouble("ask");
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
читаю "Философию Java" ЭккеляКак-то к сожалению он сложно описывает некоторые моменты, и один из таких: Динамическое связывание
я решил вопрос через создание дополнительной мапы и выглядит это жутко
Доброе время сутокЯ столкнулся с такой проблемой, что у меня есть родительский класс и его наследник
На сайте используется несколько шрифтов, нужно установить один, к примеру Montserrat, кроме иконок (на сайте так же есть inline стили, которые имеют...