ive было назначено задание для моего курса программирования java, и я достиг точки, в которой я действительно не могу выполнить следующий шаг. Мне интересно, может ли кто-нибудь помочь мне с этим кодом, пожалуйста. Назначение выглядит следующим образом:Помощь с java-кодированием?
Файл существует, который содержит общее количество осадков за каждый месяц в году, по одному двойному значению в каждой строке. Напишите программу, которая:
- Попросит пользователя ввести имя файла.
- Считывает данные из этого файла, сохраняя каждое значение в массиве.
- Итерации через массив и распечатывают общее количество осадков за год.
- Итерации через массив и распечатывают среднемесячные осадки.
- Итерации через массив и распечатывают месяц с минимальным количеством осадков и насколько это было. (Печать названия месяца заработает дополнительные отметки).
- Итерации через массив и распечатывают месяц с наибольшим количеством осадков и насколько это было. (Снова преобразование номера месяца в строку приведет к дополнительным знакам).
До сих пор я сделал первые два шага, и у меня почти есть код для третьего шага.
Файл данных им с помощью выглядит примерно так:
1.80 2.70 3.75 4.40 5.20 6.15 7.30 8.45 9.60 10.90 11.85 12.100
Что я сделал здесь написано:
1,80
2,70 и т.д. означает, что «1» будет январь, «2» будет февраль и т. д.
Таким образом, после полной остановки количество осадков. Поэтому мне нужно рассчитать общее количество всех номеров с правой стороны каждой полной остановки.
Тогда мой код до сих пор это:
import java.util.*;
import java.io.*;
class Assignment5{
public static void main(String[] args)throws Exception{
String data;
ArrayList<Double> store = new ArrayList<Double>();
Scanner scanner = new Scanner(System.in);
System.out.println(" ");
System.out.println("Please enter the name of a file with .txt at the end.");
System.out.println(" ");
data = scanner.nextLine();
File inputFile = new File(data);
Scanner reader = new Scanner(inputFile);
while(reader.hasNext()){
store.add(reader.nextDouble());
}
calculateSum(store);
store.clear();
}
private static void calculateSum(ArrayList<Double> ArrayList){
double sum = 0;
double avg = 0;
double total = 0;
double totalrainfall = 0;
Iterator<Double> iterator = ArrayList.iterator();
while(iterator.hasNext()){
sum += iterator.next();
}
total = ArrayList.size();
avg = (sum/total);
System.out.println(" ");
System.out.println("The total rainfall is " + totalrainfall);
}
Часть им застрял на вычисляет общее количество осадков. Данные являются двойным значением, поэтому мне нужно рассчитать все целые числа после полной остановки в файле данных. Я не могу разобраться, как это сделать в моем коде. Спасибо, что помогли заранее!
Можете ли вы использовать вкладки перед кодом - это практически нечитаемым в этом состоянии – hjhill
Вы кодирования неоднозначен, если читать их в качестве двойников. Например, вы не можете определить разницу между 1 и 10 дюймами дождя, так как 2.1 и 2.10 анализируют как одно и то же двойное значение. Вам действительно нужно прочитать месяц # и значение дождя как две отдельные вещи. –
Я сделал предположение, что количество осадков всегда 2 цифры. Может быть, cal скажет нам, действительно ли это предположение. Мы не знаем, является ли предпочтительное решение улучшением ввода или сосредоточением на остальной части алгоритма. –