Cześć,
Mam problem z zadaniem w języku Java o treści:
W pliku "dochody.txt" w kolejnych liniach zapisane są dane określające płeć i dochody roczne np.
K 28450
M 26730
M 42440
K 53100
K 46565
M 49000
Napisz program obliczający średnie dochody kobiet i mężczyzn.
import java.util.Scanner;
import java.io.File;
public class Main {
public static void main(String[] args) throws java.io.FileNotFoundException {
File file = new File("dochody.txt");
Scanner scanner = new Scanner(file);
int dochodK =0, dochodM = 0, licznikK = 0, licznikM = 0, sredniaK =0, sredniaM =0;
while (scanner.hasNext()) {
if (scanner.next().equals("M")) {
dochodM = dochodM + scanner.nextInt();
licznikM++;
}
else if (scanner.next().equals("K"))
{
dochodK = dochodK + scanner.nextInt();
licznikK++;
}
}
if (licznikK ==0)
System.out.println("Nie dzielimy przez zero!");
else
{
sredniaK = dochodK / licznikK;
}
if (licznikM == 0)
System.out.println("Nie dzielimy przez zero!");
else
{
sredniaM = dochodM / licznikM;
}
System.out.println("Srednia pensji kobiet wynosi: " + sredniaK + "\n Srednia pensji mężczyzn wynosi: " +
sredniaM );
}
}
Problem jest taki, że wykonuje się jedynie pierwsza instrukcja if w pętli while. Mógłby ktoś dać wskazówkę, dlaczego tak się dzieje?