Дан файл с примерным содержанием:
1 кг
2 кг
1 тонна
3 центнера
На экран должно выводиться 1 кг = 1000г
2 кг = 2000г
1 тонна = 1000000г
и так далее.
Получить цифры из файла у меня получилось. А вот дальше загвоздка. Понятия не имею как вывести конвертированные значения в соответствующем формате. Может быть кто-то подскажет?
Пока что у меня есть это:
> public static void main(String[] args) throws FileNotFoundException {
> String s = "";
> Scanner sc = new Scanner(new File("C:\\users\\ProblemSet.txt"));
> while (sc.hasNext()) {
> s = sc.nextLine() + "\r\n";
> String a = s.toString();
>
> String[] str = (s.replaceAll("\\D+", " ").trim()).split(" ");
> int[] intarr = new int[str.length];
> for (int i = 0; i < str.length; i++) {
> intarr[i] = Integer.valueOf(str[i]);
> System.out.println(intarr[i]);
> }
>
> }
> }
> public void Convertion(){
> double mph;
> double kmh;
> double kn;
>
> }
Ну как вариант задай словарь в проге со значениями
"кг" -> 1000
"т" -> 1000000
"мг" -> 0,001 ...
и в процессе парсинга по словарю принимай решения:
Map<String, Double> convert = new HashMap<String, Double>();
convert.put("кг", 1000.0);
convert.put("т", 1000000.0);
convert.put("ц", 100000.0);
convert.put("мг", 0.0001);
String formFile = "2 кг";
int num = Integer.parseInt(formFile.split(" ")[0]);
String name = formFile.split(" ")[1];
if (convert.keySet().contains(name))
System.out.println(num * convert.get(name) + "г");
Как то так можно. Оберни это в функцию и вызывай ее при выводе на экран.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости