В настоящее время я работаю над программой Java, которая должна рассчитать заработную плату компании. Программе Java необходимо импортировать файл.txt со списком рабочих и другим.txt с количеством выполненных им поставок.
Вот пример файла work.txt, где первый - это идентификатор работника, второй - это имя рабочих, а третий - уровень опыта
1 : Pedro Reis : 5
2 : Miguel Teles : 5
3 : Nuno Reis : 4
4 : Rafael Carrilho : 3
5 : Nuno Nunes : 3
6 : Osvaldo Pires : 2
7 : Tiago Santos : 2
8 : J. Almeida : 2
9 : Rui Almondegas : 2
10 : Anacleto : 1
11 : José Manuel : 3
12 : Rudolfo Bento : 3
13 : Victor Valente : 1
14 : Lúcia Portugal : 3
15 : Vanessa Santos : 1
И вот пример файла deliveries.txt, где первый - это идентификатор работника, второй - это область, где была сделана поставка, а третья - вес пакета
1 : A : 250
2 : B : 610
3 : C : 1250
2 : D : 350
3 : A : 250
4 : A : 500
1 : B : 200
5 : C : 300
5 : C : 250
Это школьный проект, и у меня возникают трудности с тем, чтобы программа Java читала два.txt файла и назначала каждому пространству.txt переменную.
Это код, который я создал
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class project {
public static void main(String[] args) {
File file = new File("workers.txt");
FileInputStream fis = null;
BufferedInputStream bis = null;
DataInputStream dis = null;
try {
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
dis = new DataInputStream(bis);
while (dis.available() != 0) {
System.out.println(dis.readLine());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Теперь вопрос в том, как я могу присвоить идентификатор рабочего, имя рабочего и т.д. И т.д. Другой переменной?
Прошу прощения за длинный пост
благодаря
Вы можете написать такой класс после разделения.
class Worker {
public int id;
public String name;
public Worker( int id, String name ) {
this.id = id;
this.name = name;
}
}
В основном классе:
Map<Integer, Worker> workers = new HashMap<>();
workers.put(*id*, new Worker(*id*, *name*));
Пример. Когда вы хотите получить имя работника, вы можете использовать следующее:
workers.get(*id*).name;
String.split()
), затемString.split()
экземпляр Worker (который должен иметь 3 поля) и добавьте его вList<Worker>
.