Я пытался решить эту проблему в течение нескольких дней, и мне удалось решить только половину ее, следующую часть, которая беспокоя меня, кажется, немного сложнее, и мне было интересно, можно ли указать в правильном направлении, как я могу справиться с этим.Поиск общего дохода 3 повторных имен (людей) в текстовом файле
У меня есть 3 имени, которые повторяются в текстовом файле в каждой строке (в случайном порядке), и каждое из этих имен содержит 2 числа рядом с ними, которые представляют цену и количество. (Как показано ниже)
Jack 8 2
Joe 4 2
Mike 14 5
Jack 3 3
Jack 9 1
Jack 2 2
Mike 20 6
Sofia 11 3
Jack 13 6
Mike 8 5
Joe 8 4
Sofia 8 1
Sofia 1 6
Sofia 9 4
мне удалось умножить эти 2 номера на каждой линии моего ответа рядом с каждым именем. (Первая проблема решена)
В следующей части, с которой мне трудно справиться, я собираюсь объединить все числа рядом с каждым из трех индивидуальных имен, которые отображаются в общей сложности.
Я задумался, должен ли я использовать переключатель, в то время, если, иначе петли и/или массивы, но я не могу получить мою голову вокруг, как достичь моего желаемого результата. Я начал сомневаться в том, прошел ли мой текущий код (показано ниже) в неправильном направлении для получения общего дохода от трех имен.
String name;
int leftNum, rightNum;
//Scan the text file
Scanner scan = new Scanner(Explore.class.getResourceAsStream("pay.txt"));
while (scan.hasNext()) { //finds next line
name = scan.next(); //find the name on the line
leftNum = scan.nextInt(); //get price
rightNum = scan.nextInt(); //get quantity
int ans = leftNum * rightNum; //Multiply Price and Quanity
System.out.println(name + " : " + ans);
}
// if name is Jack,
// get that number next to his name
// and all the numbers next to name Jack are added together
// get total of the numbers added together for Jack
// if else name is Mike,
// Do the same steps as above for Jack and find total
// if else name is Joe,
// same as above and find total
Мои последние мысли обдумывая использование если, если еще цикл, но я не могу показаться, чтобы придумать способ, чтобы получить Java, чтобы прочитать имя и получить его номер к нему. Затем найдите все строки с одинаковым именем для своего номера, и, наконец, добавьте все числа рядом с этим именем. Повторите три имени.
Мои извинения, если я сделал это, кажется, более сложным, чем может быть, но недавно я совсем потерялся и чувствую, что попал в другую кирпичную стену.
Я не могу запустить фрагмент. Что такое 'Explore.class'? Исправляя 'java.util.Scanner' с' File' ваш код работает. – chris
Explore.class - это название моего проекта здесь. Я использую Explore для проверки различных вещей, прежде чем использовать код в своей основной программе. – Masch