我编写了一个程序,使用for循环生成一组对象,然后将输出发送到控制台。我设法使输出可读。然而,控制台输出看起来不太好。
“玩家”类的代码:
public class Player
{
static String Name;
static int HP;
static int ATK;
static int playerNum;
public Player()
{
System.out.println("Empty constructor called. ");
}
public Player(String Name, int HP, int ATK)
{
Player.Name = Name;
Player.HP = HP;
Player.ATK = ATK;
}
public StringBuilder setName()
{
StringBuilder conc = new StringBuilder();
StringBuilder result = conc.append("Player ").append(Name);
return result;
}
}
“Multiplayers”类的代码
public class Multiplayers
{
public static void createPlayer()
{
int playerCount;
int players [] = new int [2];
for (playerCount = 0; playerCount<players.length; playerCount++)
{
Player p1 = new Player("なのは", 100, 100);
StringBuilder p1_n = p1.setName();
System.out.print(p1_n+" ");
System.out.println(playerCount+1);
System.err.println("ATK "+Player.ATK);
System.out.println(Player.HP);
}
}
}
main方法只调用“createPlayer()”方法。 我希望控制台显示的是这个,我可以在调试时看到它:
Player なのは 1
ATK 100
100
Player なのは 2
ATK 100
100
跑步后我看到的是:
Player なのは 1
ATK 100
100
ATK 100
Player なのは 2
100
由于程序可以很好地运行,并且在调试期间我没有看到异常结果,我不知道为什么输出以不同的顺序显示。
答案 0 :(得分:1)
System.out和System.err无法保证它们在控制台上的显示顺序,因为它们是不同的流。我建议只使用System.out进行输出。