add: TP02Q01 solved
This commit is contained in:
parent
17827f8b8a
commit
23f0bcd709
|
|
@ -0,0 +1,209 @@
|
||||||
|
/**
|
||||||
|
* @path TP02Q01 - Classe em Java/Player.java
|
||||||
|
* @description Java class of a player from the NBA database
|
||||||
|
* @author Pedro Lopes - github.com/httpspedroh
|
||||||
|
* @version 1.0
|
||||||
|
* @update 2023-09-27
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// Imports
|
||||||
|
import java.util.Scanner;
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
public class Player {
|
||||||
|
|
||||||
|
// Global variables
|
||||||
|
public static final String FILE_PATH = "/tmp/players.csv";
|
||||||
|
public static ArrayList<Player> allPlayers = new ArrayList<Player>();
|
||||||
|
|
||||||
|
// -------------------------- //
|
||||||
|
|
||||||
|
// Attributes
|
||||||
|
private int id;
|
||||||
|
private String name;
|
||||||
|
private int height;
|
||||||
|
private int weight;
|
||||||
|
private String college;
|
||||||
|
private int yearOfBirth;
|
||||||
|
private String birthCity;
|
||||||
|
private String birthState;
|
||||||
|
|
||||||
|
// Empty constructor
|
||||||
|
public Player() {
|
||||||
|
|
||||||
|
this.id = 0;
|
||||||
|
this.name = "";
|
||||||
|
this.height = 0;
|
||||||
|
this.weight = 0;
|
||||||
|
this.college = "";
|
||||||
|
this.yearOfBirth = 0;
|
||||||
|
this.birthCity = "";
|
||||||
|
this.birthState = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
public Player(int id, String name, int height, int weight, String college, int yearOfBirth, String birthCity, String birthState) {
|
||||||
|
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.height = height;
|
||||||
|
this.weight = weight;
|
||||||
|
this.college = college;
|
||||||
|
this.yearOfBirth = yearOfBirth;
|
||||||
|
this.birthCity = birthCity;
|
||||||
|
this.birthState = birthState;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Gets
|
||||||
|
public int getId() { return this.id; }
|
||||||
|
public String getName() { return this.name; }
|
||||||
|
public int getHeight() { return this.height; }
|
||||||
|
public int getWeight() { return this.weight; }
|
||||||
|
public String getCollege() { return this.college; }
|
||||||
|
public int getYearOfBirth() { return this.yearOfBirth; }
|
||||||
|
public String getBirthCity() { return this.birthCity; }
|
||||||
|
public String getBirthState() { return this.birthState; }
|
||||||
|
|
||||||
|
// Sets
|
||||||
|
public void setId(int id) { this.id = id; }
|
||||||
|
public void setName(String name) { this.name = name; }
|
||||||
|
public void setHeight(int height) { this.height = height; }
|
||||||
|
public void setWeight(int weight) { this.weight = weight; }
|
||||||
|
public void setCollege(String college) { this.college = college; }
|
||||||
|
public void setYearOfBirth(int yearOfBirth) { this.yearOfBirth = yearOfBirth; }
|
||||||
|
public void setBirthCity(String birthCity) { this.birthCity = birthCity; }
|
||||||
|
public void setBirthState(String birthState) { this.birthState = birthState; }
|
||||||
|
|
||||||
|
// Clone
|
||||||
|
public Player clone() { return new Player(this.id, this.name, this.height, this.weight, this.college, this.yearOfBirth, this.birthCity, this.birthState); }
|
||||||
|
|
||||||
|
// Print
|
||||||
|
public void print() {
|
||||||
|
|
||||||
|
System.out.printf("[%d ## %s ## %d ## %d ## %d ## %s ## %s ## %s]\n",
|
||||||
|
this.id, this.name, this.height, this.weight, this.yearOfBirth, this.college, this.birthCity, this.birthState);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read
|
||||||
|
public void read(String line) {
|
||||||
|
|
||||||
|
// Split line by ","
|
||||||
|
String[] splitted = line.split(",", -1);
|
||||||
|
|
||||||
|
// Fill empty attributes
|
||||||
|
for(int i = 0; i < splitted.length; i++) {
|
||||||
|
|
||||||
|
if(splitted[i].equals("")) splitted[i] = "nao informado";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set attributes
|
||||||
|
this.id = Integer.parseInt(splitted[0]);
|
||||||
|
this.name = splitted[1];
|
||||||
|
this.height = Integer.parseInt(splitted[2]);
|
||||||
|
this.weight = Integer.parseInt(splitted[3]);
|
||||||
|
this.college = splitted[4];
|
||||||
|
this.yearOfBirth = Integer.parseInt(splitted[5]);
|
||||||
|
this.birthCity = splitted[6];
|
||||||
|
this.birthState = splitted[7];
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// Read all players function
|
||||||
|
public static void startPlayers() {
|
||||||
|
|
||||||
|
// Initialize variables
|
||||||
|
try {
|
||||||
|
|
||||||
|
FileInputStream fstream = new FileInputStream(FILE_PATH);
|
||||||
|
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
|
||||||
|
|
||||||
|
// ---------------------- //
|
||||||
|
|
||||||
|
// Explode CSV file
|
||||||
|
String line = br.readLine();
|
||||||
|
|
||||||
|
while((line = br.readLine()) != null) {
|
||||||
|
|
||||||
|
// Initialize player
|
||||||
|
Player player = new Player();
|
||||||
|
|
||||||
|
// Read line
|
||||||
|
player.read(line);
|
||||||
|
|
||||||
|
// Add player to array
|
||||||
|
allPlayers.add(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close CSV file
|
||||||
|
fstream.close();
|
||||||
|
}
|
||||||
|
catch(IOException e) { e.printStackTrace(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// Search by id function
|
||||||
|
public static Player searchById(int id, ArrayList<Player> players) {
|
||||||
|
|
||||||
|
// Search for player
|
||||||
|
for(int i = 0; i < players.size(); i++) {
|
||||||
|
|
||||||
|
if(players.get(i).getId() == id) return players.get(i);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// #1 - Start - Read all players in CSV file
|
||||||
|
startPlayers();
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// #2 - Read input and print players from pub.in id entries
|
||||||
|
|
||||||
|
// Initialize scanner
|
||||||
|
Scanner inScanner = new Scanner(System.in);
|
||||||
|
|
||||||
|
// Initialize player
|
||||||
|
Player player = new Player();
|
||||||
|
|
||||||
|
// Read first line
|
||||||
|
String line = inScanner.nextLine();
|
||||||
|
|
||||||
|
// While line is not "FIM"
|
||||||
|
while(!line.equals("FIM")) {
|
||||||
|
|
||||||
|
// Get id
|
||||||
|
int id = Integer.parseInt(line);
|
||||||
|
|
||||||
|
// Search for player
|
||||||
|
player = searchById(id, allPlayers);
|
||||||
|
|
||||||
|
// Print player
|
||||||
|
if(player != null) player.print();
|
||||||
|
else System.out.println("x Player not found!");
|
||||||
|
|
||||||
|
// Read line
|
||||||
|
line = inScanner.nextLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close scanner
|
||||||
|
inScanner.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
[106 ## Walt Lautenbach ## 188 ## 83 ## 1922 ## University of Wisconsin ## nao informado ## nao informado]
|
||||||
|
[1228 ## Willie Wise ## 196 ## 95 ## 1947 ## Drake University ## San Francisco ## California]
|
||||||
|
[1307 ## James Hardy ## 203 ## 99 ## 1956 ## University of San Francisco ## Knoxville ## Alabama]
|
||||||
|
[1397 ## Joe Barry ## 193 ## 88 ## 1969 ## Georgia Institute of Technology ## Oakland ## California]
|
||||||
|
[1412 ## Darrell Griffith ## 193 ## 86 ## 1958 ## University of Louisville ## Louisville ## Kentucky]
|
||||||
|
[1554 ## Clark Kellogg ## 201 ## 102 ## 1961 ## Ohio State University ## Cleveland ## Ohio]
|
||||||
|
[1585 ## Trent Tucker ## 196 ## 87 ## 1959 ## University of Minnesota ## Tarboro ## North Carolina]
|
||||||
|
[1669 ## Stuart Gray ## 213 ## 106 ## 1963 ## University of California - Los Angeles ## Panama Canal Zone ## Panama]
|
||||||
|
[1750 ## Terry Porter ## 190 ## 88 ## 1963 ## University of Wisconsin-Stevens Point ## Milwaukee ## Wisconsin]
|
||||||
|
[1928 ## Andrew Lang ## 211 ## 111 ## 1966 ## University of Arkansas ## Pine Bluff ## Arkansas]
|
||||||
|
[1961 ## Anthony Taylor ## 193 ## 79 ## 1965 ## University of Oregon ## Los Angeles ## California]
|
||||||
|
[2107 ## Tony Smith ## 201 ## 95 ## 1968 ## nao informado ## nao informado ## nao informado]
|
||||||
|
[2108 ## Felton Spencer ## 213 ## 120 ## 1968 ## University of Louisville ## Louisville ## Kentucky]
|
||||||
|
[2127 ## Terrell Brandon ## 180 ## 81 ## 1970 ## University of Oregon ## Portland ## Oregon]
|
||||||
|
[2159 ## Dikembe Mutombo* ## 218 ## 111 ## 1966 ## Georgetown University ## Kinshasa ## Democratic Republic of the Congo]
|
||||||
|
[2317 ## Derrick Alston ## 211 ## 102 ## 1972 ## Duquesne University ## Bronx ## New York]
|
||||||
|
[2453 ## Bruce Bowen ## 201 ## 83 ## 1971 ## California State University - Fullerton ## Merced ## California]
|
||||||
|
[2462 ## Tony Delk ## 185 ## 85 ## 1974 ## University of Kentucky ## Covington ## Tennessee]
|
||||||
|
[2681 ## Jumaine Jones ## 203 ## 98 ## 1979 ## University of Georgia ## Cocoa ## Florida]
|
||||||
|
[2735 ## Mark Madsen ## 206 ## 108 ## 1976 ## Stanford University ## Walnut Creek ## California]
|
||||||
|
[2806 ## Antonis Fotsis ## 208 ## 99 ## 1981 ## nao informado ## Athens ## Greece]
|
||||||
|
[2861 ## Gordan Giricek ## 198 ## 95 ## 1977 ## nao informado ## Zagreb ## Croatia]
|
||||||
|
[2996 ## Matt Freije ## 208 ## 108 ## 1981 ## Vanderbilt University ## Overland Park ## Kansas]
|
||||||
|
[3059 ## Noel Felix ## 206 ## 102 ## 1981 ## California State University - Fresno ## Los Angeles ## California]
|
||||||
|
[3117 ## Hakim Warrick ## 206 ## 99 ## 1982 ## Syracuse University ## Philadelphia ## Pennsylvania]
|
||||||
|
[3150 ## Randy Foye ## 193 ## 96 ## 1983 ## Villanova University ## Newark ## New Jersey]
|
||||||
|
[3154 ## Daniel Gibson ## 188 ## 86 ## 1986 ## University of Texas at Austin ## Houston ## Texas]
|
||||||
|
[3182 ## Chris Quinn ## 188 ## 83 ## 1983 ## University of Notre Dame ## New Orleans ## Louisiana]
|
||||||
|
[3229 ## Spencer Hawes ## 216 ## 111 ## 1988 ## University of Washington ## Seattle ## Washington]
|
||||||
|
[3292 ## Steven Hill ## 213 ## 112 ## 1985 ## University of Arkansas ## Chanute ## Kansas]
|
||||||
|
[3529 ## Jordan Williams ## 188 ## 83 ## 1951 ## New Mexico State University ## New Haven ## Connecticut]
|
||||||
|
[3564 ## Kris Joseph ## 201 ## 95 ## 1988 ## Syracuse University ## Montreal ## Canada]
|
||||||
|
[3565 ## Michael Kidd-Gilchrist ## 201 ## 105 ## 1993 ## University of Kentucky ## Philadelphia ## Pennsylvania]
|
||||||
|
[3670 ## Peyton Siva ## 183 ## 83 ## 1990 ## University of Louisville ## Seattle ## Washington]
|
||||||
|
[3830 ## Christian Wood ## 211 ## 99 ## 1995 ## University of Nevada - Las Vegas ## Long Beach ## California]
|
||||||
|
[3869 ## Brandon Ingram ## 206 ## 86 ## 1997 ## Duke University ## Kinston ## North Carolina]
|
||||||
|
[3879 ## Caris LeVert ## 201 ## 92 ## 1994 ## University of Michigan ## Columbus ## Ohio]
|
||||||
|
[70 ## Robert Hahn ## 208 ## 108 ## 1925 ## North Carolina State University ## nao informado ## nao informado]
|
||||||
|
[707 ## Jim Caldwell ## 208 ## 108 ## 1943 ## Georgia Institute of Technology ## Durham ## North Carolina]
|
||||||
|
[723 ## Dave Lattin ## 198 ## 102 ## 1943 ## University of Texas at El Paso ## Houston ## Texas]
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
106
|
||||||
|
1228
|
||||||
|
1307
|
||||||
|
1397
|
||||||
|
1412
|
||||||
|
1554
|
||||||
|
1585
|
||||||
|
1669
|
||||||
|
1750
|
||||||
|
1928
|
||||||
|
1961
|
||||||
|
2107
|
||||||
|
2108
|
||||||
|
2127
|
||||||
|
2159
|
||||||
|
2317
|
||||||
|
2453
|
||||||
|
2462
|
||||||
|
2681
|
||||||
|
2735
|
||||||
|
2806
|
||||||
|
2861
|
||||||
|
2996
|
||||||
|
3059
|
||||||
|
3117
|
||||||
|
3150
|
||||||
|
3154
|
||||||
|
3182
|
||||||
|
3229
|
||||||
|
3292
|
||||||
|
3529
|
||||||
|
3564
|
||||||
|
3565
|
||||||
|
3670
|
||||||
|
3830
|
||||||
|
3869
|
||||||
|
3879
|
||||||
|
70
|
||||||
|
707
|
||||||
|
723
|
||||||
|
FIM
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
[106 ## Walt Lautenbach ## 188 ## 83 ## 1922 ## University of Wisconsin ## nao informado ## nao informado]
|
||||||
|
[1228 ## Willie Wise ## 196 ## 95 ## 1947 ## Drake University ## San Francisco ## California]
|
||||||
|
[1307 ## James Hardy ## 203 ## 99 ## 1956 ## University of San Francisco ## Knoxville ## Alabama]
|
||||||
|
[1397 ## Joe Barry ## 193 ## 88 ## 1969 ## Georgia Institute of Technology ## Oakland ## California]
|
||||||
|
[1412 ## Darrell Griffith ## 193 ## 86 ## 1958 ## University of Louisville ## Louisville ## Kentucky]
|
||||||
|
[1554 ## Clark Kellogg ## 201 ## 102 ## 1961 ## Ohio State University ## Cleveland ## Ohio]
|
||||||
|
[1585 ## Trent Tucker ## 196 ## 87 ## 1959 ## University of Minnesota ## Tarboro ## North Carolina]
|
||||||
|
[1669 ## Stuart Gray ## 213 ## 106 ## 1963 ## University of California - Los Angeles ## Panama Canal Zone ## Panama]
|
||||||
|
[1750 ## Terry Porter ## 190 ## 88 ## 1963 ## University of Wisconsin-Stevens Point ## Milwaukee ## Wisconsin]
|
||||||
|
[1928 ## Andrew Lang ## 211 ## 111 ## 1966 ## University of Arkansas ## Pine Bluff ## Arkansas]
|
||||||
|
[1961 ## Anthony Taylor ## 193 ## 79 ## 1965 ## University of Oregon ## Los Angeles ## California]
|
||||||
|
[2107 ## Tony Smith ## 201 ## 95 ## 1968 ## nao informado ## nao informado ## nao informado]
|
||||||
|
[2108 ## Felton Spencer ## 213 ## 120 ## 1968 ## University of Louisville ## Louisville ## Kentucky]
|
||||||
|
[2127 ## Terrell Brandon ## 180 ## 81 ## 1970 ## University of Oregon ## Portland ## Oregon]
|
||||||
|
[2159 ## Dikembe Mutombo* ## 218 ## 111 ## 1966 ## Georgetown University ## Kinshasa ## Democratic Republic of the Congo]
|
||||||
|
[2317 ## Derrick Alston ## 211 ## 102 ## 1972 ## Duquesne University ## Bronx ## New York]
|
||||||
|
[2453 ## Bruce Bowen ## 201 ## 83 ## 1971 ## California State University - Fullerton ## Merced ## California]
|
||||||
|
[2462 ## Tony Delk ## 185 ## 85 ## 1974 ## University of Kentucky ## Covington ## Tennessee]
|
||||||
|
[2681 ## Jumaine Jones ## 203 ## 98 ## 1979 ## University of Georgia ## Cocoa ## Florida]
|
||||||
|
[2735 ## Mark Madsen ## 206 ## 108 ## 1976 ## Stanford University ## Walnut Creek ## California]
|
||||||
|
[2806 ## Antonis Fotsis ## 208 ## 99 ## 1981 ## nao informado ## Athens ## Greece]
|
||||||
|
[2861 ## Gordan Giricek ## 198 ## 95 ## 1977 ## nao informado ## Zagreb ## Croatia]
|
||||||
|
[2996 ## Matt Freije ## 208 ## 108 ## 1981 ## Vanderbilt University ## Overland Park ## Kansas]
|
||||||
|
[3059 ## Noel Felix ## 206 ## 102 ## 1981 ## California State University - Fresno ## Los Angeles ## California]
|
||||||
|
[3117 ## Hakim Warrick ## 206 ## 99 ## 1982 ## Syracuse University ## Philadelphia ## Pennsylvania]
|
||||||
|
[3150 ## Randy Foye ## 193 ## 96 ## 1983 ## Villanova University ## Newark ## New Jersey]
|
||||||
|
[3154 ## Daniel Gibson ## 188 ## 86 ## 1986 ## University of Texas at Austin ## Houston ## Texas]
|
||||||
|
[3182 ## Chris Quinn ## 188 ## 83 ## 1983 ## University of Notre Dame ## New Orleans ## Louisiana]
|
||||||
|
[3229 ## Spencer Hawes ## 216 ## 111 ## 1988 ## University of Washington ## Seattle ## Washington]
|
||||||
|
[3292 ## Steven Hill ## 213 ## 112 ## 1985 ## University of Arkansas ## Chanute ## Kansas]
|
||||||
|
[3529 ## Jordan Williams ## 188 ## 83 ## 1951 ## New Mexico State University ## New Haven ## Connecticut]
|
||||||
|
[3564 ## Kris Joseph ## 201 ## 95 ## 1988 ## Syracuse University ## Montreal ## Canada]
|
||||||
|
[3565 ## Michael Kidd-Gilchrist ## 201 ## 105 ## 1993 ## University of Kentucky ## Philadelphia ## Pennsylvania]
|
||||||
|
[3670 ## Peyton Siva ## 183 ## 83 ## 1990 ## University of Louisville ## Seattle ## Washington]
|
||||||
|
[3830 ## Christian Wood ## 211 ## 99 ## 1995 ## University of Nevada - Las Vegas ## Long Beach ## California]
|
||||||
|
[3869 ## Brandon Ingram ## 206 ## 86 ## 1997 ## Duke University ## Kinston ## North Carolina]
|
||||||
|
[3879 ## Caris LeVert ## 201 ## 92 ## 1994 ## University of Michigan ## Columbus ## Ohio]
|
||||||
|
[70 ## Robert Hahn ## 208 ## 108 ## 1925 ## North Carolina State University ## nao informado ## nao informado]
|
||||||
|
[707 ## Jim Caldwell ## 208 ## 108 ## 1943 ## Georgia Institute of Technology ## Durham ## North Carolina]
|
||||||
|
[723 ## Dave Lattin ## 198 ## 102 ## 1943 ## University of Texas at El Paso ## Houston ## Texas]
|
||||||
Loading…
Reference in New Issue