Измените displayPlayer (), чтобы также отображать процент выигрыша. Поскольку процент выигрыша - это расчетное значение, оно не сохраняется в объекте (и нет данных поле). Вместо отображения поля будет вызван метод calcWinPercentage (). Значение, возвращаемое методом, будет умножено на 100 для целочисленной формы. Отобразите это значение с точностью до одного di git после десятичной точки. Чтобы отобразить знак процента с printf используйте %%. Если ни одна игра не была сыграна, из calcWinPercentage, и вы должны отобразить «Нет игр» для процента выигрыша.
Я начинающий уровень java. Не уверен, почему я получаю ошибку NAN или -100 в процентах.
public class TestTennisPlayer2
{
public static void main(String[] args)
{
ShresthaTennisPlayer tp1 = new ShresthaTennisPlayer();
ShresthaTennisPlayer tp2 = new ShresthaTennisPlayer("Serena", "Williams", "USA");
ShresthaTennisPlayer tp3 = new ShresthaTennisPlayer("Simona", "Halep", "Romania", 4, 27);
ShresthaTennisPlayer tp4 = new ShresthaTennisPlayer("Sloane", "Stephens", "USA", 8, 26, 18, 11);
tp1.displayPlayer();
tp2.displayPlayer();
tp3.displayPlayer();
tp4.displayPlayer();
}
}
public class ShresthaTennisPlayer
{
private String firstName;
private String lastName;
private String country;
private int rank;
private int age;
private int wins;
private int losses;
double winningPercentage;
double totalGames;
double winPercentage = calcWinPercentage();
public ShresthaTennisPlayer()
{
firstName = null;
lastName = null;
country = null;
rank = 0;
age = 0;
wins = 0;
losses = 0;
}
public ShresthaTennisPlayer(String FName, String LName, String CountryName)
{
firstName = FName;
lastName = LName;
country = CountryName;
rank = 0;
age = 0;
wins = 0;
losses = 0;
}
public ShresthaTennisPlayer(String FName, String LName, String CountryName, int r, int a)
{
firstName = FName;
lastName = LName;
country = CountryName;
rank = r;
age = a;
wins = 0;
losses = 0;
}
public ShresthaTennisPlayer(String FName, String LName, String CountryName, int r, int a, int w, int l)
{
firstName = FName;
lastName = LName;
country = CountryName;
rank = r;
age = a;
wins = w;
losses = l;
}
public void setFirstName(String FName)
{
firstName = FName;
}
public void setLastName(String LName)
{
lastName = LName;
}
public void setCountry(String CountryName)
{
country = CountryName;
}
public void setRank(int r)
{
rank = r;
}
public void setAge(int a)
{
age = a;
}
public void setWins(int w)
{
wins = w;
}
public void setLosses(int l)
{
losses = l;
}
public String getFirstName()
{
return firstName;
}
public String getLastName()
{
return lastName;
}
public String getCountry()
{
return country;
}
public int getRank()
{
return rank;
}
public int getAge()
{
return age;
}
public int getWins()
{
return wins;
}
public int getLosses()
{
return losses;
}
public double calcWinPercentage()
{
totalGames = wins +losses;
if(totalGames != 0)
{
winningPercentage = (wins / totalGames);
}else {
winningPercentage = -1;}
return winningPercentage;
}
public void displayPlayer()
{
System.out.println("Tennis Player: " + firstName + "" + lastName);
System.out.println("Country: " + country + "\n");
System.out.println("Rank: " + rank + "\n");
System.out.println("Age: " + age + "\n");
System.out.println("Wins: " + wins);
System.out.println("Losses: " + losses);
System.out.println("Winning Percentage : " + winPercentage*100);
System.out.println("----------------------------");
System.out.println("----------------------------");
}
}
public class ShresthaTennisPlayer
{
private String firstName;
private String lastName;
private String country;
private int rank;
private int age;
private int wins;
private int losses;
double winningPercentage;
double totalGames;
double winPercentage = calcWinPercentage();
public ShresthaTennisPlayer()
{
firstName = null;
lastName = null;
country = null;
rank = 0;
age = 0;
wins = 0;
losses = 0;
}
public ShresthaTennisPlayer(String FName, String LName, String CountryName)
{
firstName = FName;
lastName = LName;
country = CountryName;
rank = 0;
age = 0;
wins = 0;
losses = 0;
}
public ShresthaTennisPlayer(String FName, String LName, String CountryName, int r, int a)
{
firstName = FName;
lastName = LName;
country = CountryName;
rank = r;
age = a;
wins = 0;
losses = 0;
}
public ShresthaTennisPlayer(String FName, String LName, String CountryName, int r, int a, int w, int l)
{
firstName = FName;
lastName = LName;
country = CountryName;
rank = r;
age = a;
wins = w;
losses = l;
}
public void setFirstName(String FName)
{
firstName = FName;
}
public void setLastName(String LName)
{
lastName = LName;
}
public void setCountry(String CountryName)
{
country = CountryName;
}
public void setRank(int r)
{
rank = r;
}
public void setAge(int a)
{
age = a;
}
public void setWins(int w)
{
wins = w;
}
public void setLosses(int l)
{
losses = l;
}
public String getFirstName()
{
return firstName;
}
public String getLastName()
{
return lastName;
}
public String getCountry()
{
return country;
}
public int getRank()
{
return rank;
}
public int getAge()
{
return age;
}
public int getWins()
{
return wins;
}
public int getLosses()
{
return losses;
}
public double calcWinPercentage()
{
totalGames = wins +losses;
if(totalGames != 0)
{
winningPercentage = (wins / totalGames);
}else {
winningPercentage = -1;}
return winningPercentage;
}
public void displayPlayer()
{
System.out.println("Tennis Player: " + firstName + "" + lastName);
System.out.println("Country: " + country + "\n");
System.out.println("Rank: " + rank + "\n");
System.out.println("Age: " + age + "\n");
System.out.println("Wins: " + wins);
System.out.println("Losses: " + losses);
System.out.println("Winning Percentage : " + winPercentage*100);
System.out.println("----------------------------");
System.out.println("----------------------------");
}
}