直方图(数组 = 星星输出)
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 *******
直方图:
我的代码有问题..
预期输出必须是这样的:
输出:
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 *******