Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java初学者-向后打印直角三角形_Java_Geometry_Spacing - Fatal编程技术网

java初学者-向后打印直角三角形

java初学者-向后打印直角三角形,java,geometry,spacing,Java,Geometry,Spacing,上次我在这里时,我在计算机科学作业中唯一需要帮助的问题是在100行上画一个直角三角形,下面是代码: public class PrintTriangle { public static void main(String[] args) { // Print a right triangle made up of * // starting at 100 and ending with 1 int i = 100; whil

上次我在这里时,我在计算机科学作业中唯一需要帮助的问题是在100行上画一个直角三角形,下面是代码:

    public class PrintTriangle {
   public static void main(String[] args) {
      // Print a right triangle made up of *
      // starting at 100 and ending with 1
         int i = 100;
         while (i > 0) {
           for (int j = 0; j < i; j++)
           System.out.print("*");
           System.out.println();
         i--;
         }
   }
}

我相信这很简单,但到目前为止,我所尝试的一切都失败了,或者一次只创建了一个空间。如有任何建议或帮助,将不胜感激!提前谢谢你

好的,首先看看这两个问题。你会如何把它们联系起来

因为第二个问题与第一个问题相反,所以您在第一个代码中首先做的是什么,您需要在下一个问题中最后做

因此,您的循环实际上应该在以下代码中结束的地方反向工作

int i = 100;
for (int j = 0; j < i; j++)
           System.out.print("*");

此外,在上面的模式中,您需要先打印<代码>空格在实际打印<代码>字符< /C> >,因此,这也是您需要考虑的。

因此,这里您必须实际打印两个不同的字符:-

  • 少量的
    空格
    ,后跟
  • 很少有
    *
模式如下:-

  • 让我们看看最大行数是
    max
    (在您的情况下为100)
  • 行(
    i
    )有(
    i
    )个
    空格(行0有0个空格,行1有1个空格)
  • 然后它有(
    n-i
    )个
    星(第0行有100个星,第1行有99个星)
因此,您可以看到这里实际上需要两个
循环

分析我所说的,并提出一些代码。试试看

公共类主{
public class Main {
    public static void main(String[] args) {
        for (int i = 0; i < 100; i++) {
            for (int j = 0; j < i; j++)
                System.out.print(" ");
            for (int j = i; j < 100; j++)
                System.out.print("*");
            System.out.println();
        }
    }
}
公共静态void main(字符串[]args){ 对于(int i=0;i<100;i++){ 对于(int j=0;j
我只是想告诉你怎么做。 理解模式

就像上一个问题中的printed*一样,您需要打印空格。然后按相反顺序打印星星

*
**
***

***
 **
  *

对于这些金字塔(我称之为金字塔),首先要确保你得到了正确的空间

* * * * *
- * * * *
- - * * *
- - - * * 
- - - - *
现在您可以看到两种模式,现在您可以对其进行编程。这是psuedocode

FOR I=1 to N
    FOR J = 1 to I-1
        PRINT " "
    ENDFOR
    FOR K = 1 to N-I+1
        PRINT "*"
    ENDFOR
PRINT "\n"
ENDFOR
inti=1;
而(i=<100){
//只要有必要,首先放置空格
//它将是我的100倍
//例如,第一行(i=1)、99个空格(100-i)和一颗星(i)
//对于50.线(i==50)、50个空间(100-i)和50个恒星(i)
对于(int j=0;j<100-i;j++)
系统输出打印(“”);
//然后是星星
对于(int j=0;j
下面的代码可以帮助您找到解决方案

 class ReverseTriangle {
 public static void main(String[] args) {
    for (int i = 0; i < 100; i++) {
        for (int j = 0; j < i; j++)
            System.out.print(" ");
        for (int j = i; j < 100; j++)
            System.out.print("*");
        System.out.println();
    }
 }
 }
类反转角度{
公共静态void main(字符串[]args){
对于(int i=0;i<100;i++){
对于(int j=0;j
公共类PrintTriangle{
公共静态void main(字符串[]args){
对于(int i=10;i>0;i--)
{
对于(int j=1;j
公共静态无效打印金字塔(int ln){
对于(int j=ln;j>0;j--){
对于(int i=ln;i>0;i--){
如果(j>=i){
系统输出打印(“*”);
}否则{
}
系统输出打印(“”);
}
System.out.println();
}
}
公共静态无效打印反转锥体(整数项次){
对于(int j=0;j=0;i--){
如果(j>=i){
系统输出打印(“*”);
}否则{
}
系统输出打印(“”);
}
System.out.println();
}
}
公共静态无效打印菱形(整数项次){
对于(int j=0;j=0;i--){
如果(j>=i&&jln&(2*ln)-j>=i){
系统输出打印(“*”);
}
否则{
}
系统输出打印(“”);
}
System.out.println();
}
}

@Hisham。。请不要发布工作代码,除非OP亲自尝试。。这对他毫无帮助。@RohitJain。。为此道歉,我想他只是想code@Hisham.. 没关系。但即使他想要密码,你也不应该给他。现在还可以。记得下一次吗?是的,我不是在寻找实际的代码,只是一些有用的提示:)但非常感谢你们,我现在就明白了。出于某种原因,我很难想象空间是它们自己的角色。脑屁!谢谢你们,不用了。在第一种情况下,不需要管理空间。反转不是这么简单。请修复代码突出显示,并在代码段中添加一些说明。阅读FAQ中的这篇文章:
FOR I=1 to N
    FOR J = 1 to I-1
        PRINT " "
    ENDFOR
    FOR K = 1 to N-I+1
        PRINT "*"
    ENDFOR
PRINT "\n"
ENDFOR
 int i = 1;
 while (i =< 100) {
   // first put spaces as long as it is necessary
   // it will be i times less than 100
   // for example for the first line (i = 1), 99 space (100-i) and 1 star (i)
   // for the 50. line (i == 50), 50 space (100-i) and 50 stars (i)
   for(int j = 0; j < 100-i; j++)
     System.out.print(" ");

   // then the stars
   for (int j = 0; j < i; j++)
     System.out.print("*");
   System.out.println();
   i++;
 }
 class ReverseTriangle {
 public static void main(String[] args) {
    for (int i = 0; i < 100; i++) {
        for (int j = 0; j < i; j++)
            System.out.print(" ");
        for (int j = i; j < 100; j++)
            System.out.print("*");
        System.out.println();
    }
 }
 }
public class PrintTriangle {
   public static void main(String[] args) {

       for(int i=10;i>0;i--)
          {
           for (int j = 1; j < i; j++)
           System.out.print("*");
           System.out.println();           
         }
   }
}
public static void printPyramid(int ln){
    for(int j=ln;j>0;j--){
        for(int i=ln;i>0;i--) {
            if (j >= i) {
                System.out.print("*");
            } else {
            }
            System.out.print(" ");
        }
        System.out.println();
    }
}

public static void printReversePyramid(int ln){
    for(int j=0;j<ln;j++){
        for(int i=ln;i>=0;i--) {
            if (j >= i) {
                System.out.print("*");
            } else {
            }
            System.out.print(" ");
        }
        System.out.println();
    }
}

public static void printDiamond(int ln){
    for(int j=0;j<2*ln+1;j++){
        for(int i=ln;i>=0;i--) {
            if (j >= i && j < ln+1) {
                System.out.print("*");
            } else if(j > ln && (2*ln)-j>=i){
                System.out.print("*");
            }
            else {
            }
            System.out.print(" ");
        }
        System.out.println();
    }
}