java - Java如何在括号内打印“x”颗星
问题描述
我需要打印他们得到的球员和明星,答案应该是:
创建球员...
名称:Player3
星数:4
打印:Player3(***)
现在我明白了:
创建播放器...
名称:Player5
星星:4
( )( )( )( ) 打印:Player5(*)
(括号内的星星上方)
这是我的代码:
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 + "(*)";
} }
解决方案
将 StarTeams.toString() 方法更改为:
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 +")";
} }
推荐阅读
- java - 在 JEditorPane 中更改字体
- python - 错误:无法为使用 PEP 517 且无法直接安装的 PyNaCl 构建轮子
- hosting - OVH域名,将DNS服务器更改为godaddy托管不起作用
- rust - 在 Rust 中为特定类型实现结构的函数
- javascript - FullCalendar 滚动时间方法不起作用
- excel - 如何将颜色格式化为图表数据标签的几个字符?
- laravel - Laravel Livewire:意外行为,查看未收到更新数据
- javascript - 类似于 PHP 多维关联数组的 Javascript 动态对象
- three.js - (react-three-fiber) 我想导入一个 3D 模型,然后在上面加载一个图像
- html - HTML 网格布局模板区域 2/3