Java 打印与人的年龄相匹配的字符,用于循环
我想制作一个可以打印的代码: 安迪** 克里斯蒂********** 艾米****** 我想让程序打印这个人的年龄。我也希望能够改变年龄,仍然得到正确的代码。我在下面写的代码只能打印出来 安迪* 克里斯蒂* 艾米* 如何更改for循环以实现这一点Java 打印与人的年龄相匹配的字符,用于循环,java,netbeans,Java,Netbeans,我想制作一个可以打印的代码: 安迪** 克里斯蒂********** 艾米****** 我想让程序打印这个人的年龄。我也希望能够改变年龄,仍然得到正确的代码。我在下面写的代码只能打印出来 安迪* 克里斯蒂* 艾米* 如何更改for循环以实现这一点 public static void main(String[] args){ String name = "Andy"; int age = 2; drawChart(name, age); name = "Kristy"; a
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("*");
}
}
publicstaticvoidmain(字符串[]args){
String name=“Andy”;
智力年龄=2;
图纸(姓名、年龄);
name=“Kristy”;
年龄=10岁;
图纸(姓名、年龄);
name=“艾米”;
年龄=5岁;
图纸(姓名、年龄);
公共静态void绘图图(字符串名称,整数){
对于(int i=年龄;i变化:
for(int i = age; i <= age; i++){
System.out.print("*");
}
for(int i=age;i您的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("");
for(int i=0;i将方法更改为:
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();
}
publicstaticvoiddrawchart(字符串名,int-age){
系统输出打印(名称+“:”);
for(int i=0;i
首先打印姓名和星星,最后是换行符。
当然,您的for循环参数毫无意义
因为:
它从2开始,一直运行到2循环中有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
for(int i=age;i循环应以i=1开始
System.out.println(“*”)//应该使用print来避免换行
}
//在此循环之后,添加一个空白的println语句以添加新行
for循环中有一个错误
更改如下:
for (int i = 1; i <= age; i++) {
System.out.print("*"); // Remove println here
}
// Go to next line outside the loop
System.out.println("");
for(int i=1;i您可以在其他答案中找到问题,但我想提供一些不错的替代方案。有人可能会说这对性能不好,但我喜欢小代码;)
您可以使用String.format
方法来执行此操作
public static String getAge(int age){
return String.format("%" + n + "s","").replace(" ", "*");
}
这将简单地创建一个带有age
空格数的字符串,然后用*
替换它们。您的循环从int i=age
开始。看起来应该是int i=1
print not println它是有效的,但不执行所需操作。无效的感觉好像无法编译(但我的感觉)你可能是对的,我可能会用不同的词来描述循环中变量的问题。
for (int i = 1; i <= age; i++) {
System.out.print("*"); // Remove println here
}
// Go to next line outside the loop
System.out.println("");
public static String getAge(int age){
return String.format("%" + n + "s","").replace(" ", "*");
}