Java 添加字符的次数与添加数字的次数相同
因此,我需要制作一个程序,让用户输入一个高度,并输出带有嵌套循环的以下形状:Java 添加字符的次数与添加数字的次数相同,java,string,char,Java,String,Char,因此,我需要制作一个程序,让用户输入一个高度,并输出带有嵌套循环的以下形状: * * * * * * * * * * * * * * * * * * * * * * * * * 我的想法是使用一个字符作为一个黑色空间,当给定高度时,对应于我需要多少空间才能得到正确的形状。然而,我很难去拜访它。如何使char在同一行上运行一定次数。我希望它与第二个循环中的“x”值相对应 import java.util.Scanner; 公共艺术类 { 公共静态v
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
我的想法是使用一个字符作为一个黑色空间,当给定高度时,对应于我需要多少空间才能得到正确的形状。然而,我很难去拜访它。如何使char在同一行上运行一定次数。我希望它与第二个循环中的“x”值相对应
import java.util.Scanner;
公共艺术类
{
公共静态void main(字符串[]args)
{
扫描仪sc=新的扫描仪(System.in);
内部高度;
字符星='*';
//获取首选高度
System.out.println(“输入您希望杰作达到的高度:”;
高度=sc.nextInt();
对于(int i=0;高度>i;i--)
{
对于(int x=0;x
感谢您提前提出的建议 要获得所需的输出,可以使用此金字塔算法
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int height = s.nextInt();
char star = '*';
for(int i = 0;i < height; i++) {
for(int j = 0; j < height - i; j++) {
System.out.print(" ");
}
for(int k = 0; k <= i; k++) {
System.out.print(star + " ");
}
System.out.println();
}
}
publicstaticvoidmain(字符串[]args){
扫描仪s=新的扫描仪(System.in);
int height=s.nextInt();
字符星='*';
对于(int i=0;i for(int k=0;k您的for循环
存在无限循环问题。请尽量避免这种情况
顺便说一下,另一个金字塔算法。干杯
for (int i=height; i > 0; i--)
{
if(i!=1) {
for(int y = i-1; y>0; y--) {
System.out.print(" ");
}
}
for (int x = 0; x < 2*(height-i+1)-1; x++)
{
System.out.print("* ");
}
System.out.println();
}
for(int i=height;i>0;i--)
{
如果(i!=1){
对于(int y=i-1;y>0;y--){
系统输出打印(“”);
}
}
对于(int x=0;x<2*(高度-i+1)-1;x++)
{
系统输出打印(“*”);
}
System.out.println();
}
您的上述代码是伪代码吗?您在内部for循环中的数学陈述不正确您有一个大于0的输入高度的无限循环。for(int i=0;height>i;i--)是的,上面的代码只是我在想我应该做什么,它一点也不完整。你允许使用递归吗?好的,在你的帮助下,我让它开始工作。只是为了确保我理解这里发生的事情:用户输入一个值。然后该值进入一个循环,在那里它将运行用户输入的数字。然后在第二个循环中循环,它通过从高度减去i来确定要输出多少空间。在最后一个循环中,它打印出正确数量的星星。这在查看它时是有意义的。感谢大家的评论和回答。@ChargeNective!我很高兴你让它工作了!一步一步地使用这样的程序,分析什么是和什么是n需要发生的事件是必不可少的,尤其是在有很多循环的情况下!
for (int i=height; i > 0; i--)
{
if(i!=1) {
for(int y = i-1; y>0; y--) {
System.out.print(" ");
}
}
for (int x = 0; x < 2*(height-i+1)-1; x++)
{
System.out.print("* ");
}
System.out.println();
}