I need to print players and star they get, answer should be:
Create player...
Name: Player3
Stars: 4
Print: Player3(***)
Now I get this:
Create player...
Name: Player5
Stars: 4
()()()() Print: Player5(*)
(Above stars inside brackects)
here is my code:
import java.util.Random;
public class stars{
public static void main(String[] args){
final Random r = new Random();
String[] players = "Player1 player2 Player3 Player4 Player5".split(" ");
for (int i=0; i<3; i++){
String n = players[r.nextInt(players.length)];
int s = r.nextInt(5) + 1;
System.out.println("Create player...");
System.out.println("Name: " + n);
System.out.println("Stars: " + s);
StarTeams st = new StarTeams(n,s);
System.out.println("Print: " + st);
System.out.println("");
}
}
}
class Teams{
private String name;
public Teams(String name){
this.name = name;
}
public String toString(){
return name;
}
}
class StarTeams extends Teams{
private int stars;
public StarTeams(String name, int stars){
super(name);
this.stars = stars;
}
public String toString(){
String rm = super.toString();
this.stars=stars;
int t = stars;
for (int i=0; i<t;i++){
// System.out.print("*");
System.out.print("(" + "*" + ")");
}
return rm + "(*)";
} }
made changes to StarTeams.toString() method as :
public String toString(){
String rm = super.toString();
this.stars=stars;
int t = stars;
String s ="";
for (int i=0; i<t;i++){
// System.out.print("*");
s+="*";
}
return rm + "("+ s +")";
} }