如何使用System.out格式化输出?

时间:2016-12-11 19:08:20

标签: java java-io system.out

我在业余时间创造了一个英超联赛足球桌,我遇到了一个问题。程序运行时,我希望它是完美的,并以我想要的格式输出,问题是:

  • 您输入输入(“HomeTeam:AwayTeam:HomeScore:AwayScore”),如下所示

  • 完成列表后,请输入“退出”以停止程序

  • 我的问题是得分就是这样的 (“HomeTeam | AwayTeam | HomeScore | AwayScore”)

  • 我打算像这样打印(“HomeTeam [HomeScore] | AwayTeam [AwayScore]”)

我已经尝试过System.out.printlns的许多变体无济于事,甚至试图制作几个布尔条件,它们也会以我想要的方式输出输入。我真的很茫然,这令人沮丧 - 我希望有人可以给我提供附加代码的提示

编辑循环;

for (int i = 0; i < counter; i++) { // A loop
    String[] words = product_list[i].split(":"); 
    System.out.println(words[0].trim() + "[" + words[2].trim() + "]" + " | " + words[1].trim() + "[" + words[3].trim()) + "]";

1 个答案:

答案 0 :(得分:0)

这应该有效:

Scanner sc = new Scanner(System.in);

public void outputScore(String input) {

    String[] words = input.trim().split("\\s+");

    String satisfied = sc.nextLine();

    if (satisfied.equals("quit")) {
        System.out.println(words[0] + " [" + words[4] + "] | " + words[2] + " [" + words[6] + "]");
    }
}

这就是调用它时方法的样子:

outputScore(sc.nextLine());

以下是您编辑过的问题的代码:

String [] product_list = new String [100];
int counter = 0;

Scanner scanner = new Scanner(System.in);
System.out.println("Input as follows:");
System.out.println("Home team : Away team : Home score : Away score");

String line = null;

while (!(line = scanner.nextLine()).equals("")) {

    if (line.equals("quit")) {
           break;
    } else {
        product_list[counter] = line;

        System.out.println("Home team : Away team : Home score : Away score");
    }

    counter++;  
}

for (int i = 0; i < counter; i++) {
    String[] words = product_list[i].split(":");
    System.out.println(words[0].trim() + " : " + words[2].trim() + " | " + words[1].trim() + " : " + words[3].trim());
}

希望这有帮助。