直方图(数组 = 星星输出)

HISTOGRAM (Array = Stars Output)

直方图:
我的代码有问题..
预期输出必须是这样的:

输出:

0 8 ********  
1 6 ******   
2 3 ***  
3 7 *******

但是我的显示:

0 8 *******************************    
1 6 *******************************
2 3 *******************************  
3 7 *******************************

我已经搜索并将其与我的代码进行比较,但没有任何帮助我..

能否请您看一下我的代码并提出一些建议,并在

上发表评论

我怎样才能正确编码预期的输出..

感谢任何帮助...

    public static void main(String args[]) {
        {

        StringBuilder stringBuilder = new StringBuilder();

             int n = 0;
            n  = Integer.parseInt(JOptionPane.showInputDialog("Enter value"));

            int[] arr = new int[n];
             String stars = "";
             int input = 0;



            for(int c = 0; c<n; c++ ){
            input  = Integer.parseInt(JOptionPane.showInputDialog("Enter number"));
            arr[c]=input;


             for(int i=0; i<input; i++){ 
                        stringBuilder.append("*"); 
                 }


                 }
            for(int i=0; i<input; i++){ 
                stringBuilder.append("*"); 
            }

                for (int o = 0; o<n ; o++){ 
                stars = stringBuilder.toString();
                System.out.println( o +" "+arr[o]+" "+stars);
                }



        }
        }
    }

每次在builder对象中追加*,清除之前的内容。您可以使用 stringBuilder.setLength(0);

import javax.swing.*;

public class Prop {
  public static void main(String args[]) {

    StringBuilder stringBuilder = new StringBuilder();

    int n = 0;
    n  = Integer.parseInt(JOptionPane.showInputDialog("Enter value"));

    int[] arr = new int[n];
    String stars = "";
    int input = 0;

    for(int c = 0; c<n; c++ ){
      input  = Integer.parseInt(JOptionPane.showInputDialog("Enter number"));
      arr[c]=input;

      for(int i=0; i<input; i++){
        stringBuilder.append("*");
      }
      stars = stringBuilder.toString();
      System.out.println( c +" "+arr[c]+" "+stars);
      stringBuilder.setLength(0);             // Reset the `stringBuilder` once pattern is written
    }
  }
}

输出:

0 8 ********  
1 6 ******  
2 3 ***  
3 7 *******