Java反向三角形字符串

时间:2018-07-09 22:39:47

标签: java

您好,我想将一个字符串显示为反向三角形。当我使用反向方法时,无法显示它。显然我做错了。

for (int i= 1; i >= 1; i--) { //reverse here
*******************
 *****************
  ***************
   *************
    ***********
     *********
      *******
       *****
        ***
         *

我想在上面显示此形状的字符串,但它需要显示一个单词

import java.io.*;
import java.util.Scanner;
import java.lang.String;

public class WorkShop2ABPaola
{
    /**
     * @param args the command line arguments
     */
    public static void main(String args [])
    {
        try
        {
            Scanner sc = new Scanner(System.in);
            String s;
            int l;
            System.out.println("Enter the String : ");
            s = sc.nextLine();
            l = s.length();
            //outer loop
            for(int i = 0; i < l; i++)
            {
                int padding = s.length() - i;
                if(padding > 0)
                {
                    System.out.printf("%" + padding + "s", " ");

                    //for inner loop
                }
                for(int j = 0; j < i; j++)
                {
                    System.out.printf("%c ", s.charAt(j));
                }
                System.out.printf("%c\n", s.charAt(i));
            }
        }
        catch(Exception e)
        {
            System.err.println(e);
        }
    }
}

2 个答案:

答案 0 :(得分:0)

您发布的第一行是正确的方法:从长度开始(减去1,因为长度索引从零开始),然后向下移动。因此,与其将ZipEntry从零开始,不应该从ZipFile(长度)开始

ZipEntry

输出 :(将“ CorrectOutput”作为给定的$list = Import-Csv "c:\temp\list.csv" $array_list = @() foreach ($item in $list) { $array_list += $item.position1 $array_list += $item.position2 $array_list += $item.position3 $array_list += $item.position4 $array_list += $item.position5 $array_list += $item.position6 $array_list += $item.position7 $array_list += $item.position8 $array_list += $item.position9 $array_list += $item.position10 }

i

答案 1 :(得分:0)

您基本上都正确。您只会有l行,因为您每次都在两侧上都添加了填充空间。

这应该有效:

for(int i = l-1; i > -1; i--) {
     int padding = s.length() - i;
     if(padding > 0)
     {
          System.out.printf("%" + padding + "s", " ");

         //for inner loop
      }
      for(int j = 0; j < i; j++)  {
            System.out.printf("%c ", s.charAt(j));
      }
      System.out.printf("%c\n", s.charAt(i));
}

“ TestString”生成的输出:

String