gpt4 book ai didi

java - 让方法在输入末尾打印所有输出

转载 作者:行者123 更新时间:2023-11-30 07:05:59 25 4
gpt4 key购买 nike

我想做的基本上是制作一个程序,根据输入显示加拿大各省的人口管道图。

现在,我编写的程序在打印结果之前只获取一个省及其人口,然后对接下来的每个省/地区执行相同的操作。

我想让它获取数据,然后在最后打印整个图表,而不是在打印信息时单独打印。

我已经审阅了整章,并且还查看了 Stackexchange 网站。虽然我找不到任何与此相关的信息。难道不可能吗?

这是我的代码:

import java.util.Scanner;

public class printPopChart {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Please enter the number of provinces");
int pNum = in.nextInt();
for (int i = pNum; i > 0; i--){
System.out.println("Province: ");
String province = in.next();
System.out.println("Population: ");
double pPop = in.nextDouble();
double pipes = numberOfPipes(pPop);
printBar(province, pipes);
}
}
public static double numberOfPipes(double pop) {
return Math.ceil(pop / 250000);
}

public static void printBar(String province, double pop) {
System.out.println("Province/Territory Population "); // 32 between Start and word Population
System.out.print(province);
spaceBetween(province);
for (int i = 0; i <= pop; i++) {
System.out.print("|");
}
System.out.println();
}

public static void spaceBetween(String province)
{
for (int i = 1; i <= (32 - province.length()); i++) {
System.out.print(" ");
}
}
}

总的来说,我对方法和 Java 比较陌生(这只是我学习类(class)的第五周),所以我不确定如何将输出保留到最后,以便只打印一张大图表,例如:

Province/Territory      Population
Alberta |||||||||||||||||
British Columbia |||||||||||||||||||
Manitoba ||||||

如果您有兴趣,以下是我在使用其中一个答案后所做的操作:

import java.util.Scanner;

public class printPopChart {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String temp = "";
System.out.println("Please enter the number of provinces");
int pNum = in.nextInt();
for (int i = pNum; i > 0; i--){
System.out.println("Province: ");
String province = in.next();
System.out.println("Population: ");
double pPop = in.nextDouble();
double pipes = numberOfPipes(pPop);
temp += printBar(province, pipes);
}
System.out.println("Province/Territory Population "); // 32 between Start and word Population
System.out.print(temp);
}
public static double numberOfPipes(double pop) {
return Math.ceil(pop / 250000);
}

public static String printBar(String province, double pop) {
String printB = "";
printB += province;
printB += spaceBetween(province);
spaceBetween(province);
for (int i = 1; i <= pop; i++) {
printB += ("|");
}
return printB + "\n";
}

public static String spaceBetween(String province)
{
String spaceB = "";
for (int i = 1; i <= (32 - province.length()); i++) {
spaceB +=" ";
}
return spaceB;
}
}

最佳答案

您可以创建一个名为 temp 的字符串,并将一个新字符串与其连接起来,并在末尾打印所有内容。

例如:

String temp = "";

然后将所有新字符串添加到该临时字符串中。

temp + = "Province/Territory";
temp += "\t Population \n"

\t 是制表符的特殊字符,\n 是新行的特殊字符。如果继续这样做,您将只得到一个字符串,并且可以在完成所有操作后打印该字符串。

您还可以了解 printf,它将帮助您正确设置显示格式。您可以在这里了解更多信息:How to use formatting with printf correctly in Java

关于java - 让方法在输入末尾打印所有输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40118512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com