如何解决如何打印字符数组中的字符串?
我正在做乌龟和兔子的游戏,除了当兔子和乌龟处于同一位置时我想打印出“哎哟”之外,一切正常。我的赛道是一个字符数组,所以我只能输入“O”,每当我尝试将它打印为字符串“OUCH”时,它都会将其打印为单独的新行。有没有办法在不中断游戏流程的情况下打印“OUCH”,并将其输出到其他所有内容的不同行上?
public static int turtlePosition = 0; // Turtle location
public static int harePosition = 0; // Hare location
public static char[] track = new char [70]; // Array for Track
public static void main(String[] args) {
System.out.println("AND THEY ARE OFF!!");
while (!gameOver()){
for (int i = 0; i < track.length; i++){
track[i] = '-';
}
Random random = new Random();
int r = random.nextInt(10) + 1;
turtleMove(r);
hareMove(r);
if (gameOver()){
break;
}
track[turtlePosition] = 'T';
track[harePosition] = 'H';
if (turtlePosition == harePosition){
String str = String.valueOf(track[turtlePosition]);
str = "OUCH";
System.out.println(str);
}
for (int i = 0; i < track.length; i++)
{
System.out.print(track[i]);
}
System.out.println();
}
if (turtlePosition >= 70 && harePosition >= 70){
System.out.println("IT'S A TIE!!");
}
else if (turtlePosition >= 70){
System.out.println ("TORTOISE WINS!!");
}
else {
System.out.println ("HARE WINS!!");
}
解决方法
我不这么认为,但您可以将文本区域放在一边。
像这样:
代码更改:
if (turtlePosition>=6 || harePosition>=6){
turtlePosition = 7;
harePosition = 7;
}
track[turtlePosition] = 'T';
track[harePosition] = 'H';
if (turtlePosition == harePosition){
insertintotrack("OUCH |");
}else {
insertintotrack(" |");
}
新功能:
public static void insertintotrack(String in)
{
char[] info = in.toCharArray();
for (int i = 0; i < info.length; i++) {
track[i] = info[i];
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。