我想制作一个可以打印的代码:
Andy **
Kristy **********
Amy *****
我希望程序打印*这个人的年龄。我也希望能够改变年龄并仍然得到正确的代码。我在下面写的代码只会打印出来
Andy *
Kristy *
Amy *
如何更改for循环以实现此目的?
public static void main(String[] args){
String name = "Andy";
int age = 2;
drawChart(name, age);
name = "Kristy";
age = 10;
drawChart(name, age);
name = "Amy";
age = 5;
drawChart(name, age);
public static void drawChart(String name, int age){
for(int i = age; i <= age; i++){
System.out.println("*");
}
}
答案 0 :(得分:1)
你的for循环无效。您需要设置i = 1
,甚至将其更改为以下内容:
for (int i=0; i<age; i++) {
System.our.print("*");
}
// Also add new line after printing all stars, not for each star
System.out.println("");
祝你好运
答案 1 :(得分:1)
将方法更改为:
public static void drawChart(String name, int age){
System.out.print(name+": ");
for(int i = 0; i < age; i++){
System.out.print("*");
}
System.out.println();
}
首先打印名称和星号,然后打印换行符。 并且肯定你的for Loop参数没有任何意义。
由于: 它从2开始并一直运行到2 <= 2
for(int i = age; i <= age; i++){
答案 2 :(得分:0)
变化:
for(int i = age; i <= age; i++){
System.out.print("*");
}
要:
for(int i = 0; i < age; i++){
System.out.print("*");
}
您当前的循环始于&#39; age&#39;而不是0使它只进行一次迭代。
答案 3 :(得分:0)
循环中有2个问题, 请参阅下面的评论
for(int i = age; i <= age; i++){ --> Loop should start with i=1
System.out.println("*"); // You should use print to avoid new line
}
// After this Loop add a blank println statement to add a new line
答案 4 :(得分:0)
for循环中有一个错误。
按如下方式更改:
null
答案 5 :(得分:0)
你可以在其他答案中找到问题,但我想提供一些不错的选择。有些人可能会说这对性能不好,但我喜欢小代码;)
您可以使用String.format
方法来执行此操作。
public static String getAge(int age){
return String.format("%" + n + "s","").replace(" ", "*");
}
这只会创建一个age
个空格的字符串,然后用*
替换它们。