Задача : Вывести на экран список из 10 городов с текущей температурой окружающей среды. Список вывести по алфавиту. Отдельно вывести список городов, где сейчас идет снег(или дождь, или пасмурно, или солнечно). Также вести на экран сколько времени выполнялась программа
Что требуется : Чтобы в выводе сортировка городов выполнялась по алфавиту.
Мой код :
package devjatnadcat;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
public class Devjatnadcat1 {
public static void main(String[] args) throws IOException {
long m = System.currentTimeMillis() / 1000;
Document doc = Jsoup.connect("http://travel.ru/weather/russia/").get();
Elements trElements = doc.getElementsByAttributeValue("class", "b-table_row b-forecast");
trElements.forEach(trElement -> {
// выбираем элементы по классу b-table_cell
Elements elementsByClass = trElement.getElementsByClass("b-table_cell");
// первая колонка - Город
System.out.print(elementsByClass.get(0).text() + " ");
// Парсим вторую колонку
Element element = elementsByClass.get(1);
// температура
String temp = element.getElementsByClass("b-forecast_temp").text();
System.out.println(temp);
});
System.out.println("");
trElements.forEach(trElement -> {
// выбираем элементы по классу b-table_cell
Elements elementsByClass = trElement.getElementsByClass("b-table_cell");
// первая колонка - Город
System.out.print(elementsByClass.get(0).text() + " - ");
// Парсим вторую колонку
Element element = elementsByClass.get(1);
// осадки
String precipitation = element.getElementsByClass("b-forecast_description").text();
System.out.println(precipitation);
});
System.out.println("Время выполнения : " + ((double) (System.currentTimeMillis() - m)));
}
}
Изучите пакет java.util. Там есть все, что нужно
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Devjatnadcat1 {
public static void main(String... args) throws IOException {
long m = System.currentTimeMillis();
List<City> cities = new ArrayList<>();
Document doc = Jsoup.connect("http://travel.ru/weather/russia/").get();
Elements trElements = doc.getElementsByAttributeValue("class", "b-table_row b-forecast");
trElements.forEach(trElement -> {
// выбираем элементы по классу b-table_cell
Elements elementsByClass = trElement.getElementsByClass("b-table_cell");
// первая колонка - Город
String name = elementsByClass.get(0).text();
// Парсим вторую колонку
Element element = elementsByClass.get(1);
// температура
String temperature = element.getElementsByClass("b-forecast_temp").text();
// осадки
String precipitation = element.getElementsByClass("b-forecast_description").text();
cities.add(new City(name, temperature, precipitation));
});
Collections.sort(cities);
cities.forEach(city -> System.out.println(city.toTemperature()));
System.out.println();
cities.forEach(city -> System.out.println(city.toForecast()));
System.out.println();
System.out.println("Время выполнения : " + (System.currentTimeMillis() - m) + "мс");
}
}
class City implements Comparable<City> {
private String name;
private String temperature;
private String forecast;
public City(String name, String temperature, String forecast) {
this.name = name;
this.temperature = temperature;
this.forecast = forecast;
}
@Override
public int compareTo(City o) { return name.compareTo(o.name); }
public String toTemperature() { return name + " " + temperature; }
public String toForecast() { return name + " - " + forecast; }
}
/*
*Вывести на экран список из 10 городов с текущей температурой окружающей среды.
Список вывести по алфавиту.
Отдельно вывести список городов, где сейчас идет снег(или дождь, или пасмурно, или солнечно).
Также вести на экран сколько времени выполнялась программа
*/
package devjatnadcat;
/**
*
* @author Марат
*/
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Devjatnadcat1 {
public static void main(String... args) throws IOException {
long m = System.currentTimeMillis();
List<City> cities = new ArrayList<>();
Document doc = Jsoup.connect("http://travel.ru/weather/russia/").get();
Elements trElements = doc.getElementsByAttributeValue("class", "b-table_row b-forecast");
trElements.forEach(trElement -> {
// выбираем элементы по классу b-table_cell
Elements elementsByClass = trElement.getElementsByClass("b-table_cell");
// первая колонка - Город
String name = elementsByClass.get(0).text();
// Парсим вторую колонку
Element element = elementsByClass.get(1);
// температура
String temperature = element.getElementsByClass("b-forecast_temp").text();
// осадки
String precipitation = element.getElementsByClass("b-forecast_description").text();
cities.add(new City(name, temperature, precipitation));
});
Collections.sort(cities);
cities.forEach(System.out::println);
System.out.println(" ");
trElements.forEach(trElement ->{
Elements elementsByClass = trElement.getElementsByClass("b-table_cell");
// выбираем элементы по классу b-table_cell
System.out.print(elementsByClass.get(0).text() + " - ");
// первая колонка - Город
// Парсим вторую колонку
Element element = elementsByClass.get(1);
String temp = element.getElementsByClass("b-forecast_temp").text();
// температура
String precipitation = element.getElementsByClass("b-forecast_description").text();
// осадки
System.out.println(precipitation);
});
System.out.println("Время выполнения : " + (System.currentTimeMillis() - m) + "мс");
}
}
class City implements Comparable<City> {
private String name;
private String temperature;
private String forecast;
public City(String name, String temperature, String forecast) {
this.name = name;
this.temperature = temperature;
this.forecast = forecast;
}
@Override
public int compareTo(City o) {
return name.compareTo(o.name);
}
@Override
public String toString() {
return name + " " + temperature + " ";
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Из кода выводится список сформированных по длине словосочетания, которые в дальнейшем печатаются на imageНе могу придумать условие, чтобы...
Хочу отслеживать событие открытия SpinnerПопробовал повесить на него View