import javax.swing.*;
class A1{
public static void main(String args[]) {
String z= "";
String a = JOptionPane.showInputDialog(null,"Enter no");
int b = Integer.parseInt(a);
for (int i = 1 ;i <=b ; i++){
z += "*" ;}
JOptionPane.showMessageDialog(null,"\n"+z);
}}
答案 0 :(得分:0)
您需要多个循环才能在不同的行上显示文字。
不要使用字符串连接来构建字符串。
类似的东西:
String a = JOptionPane.showInputDialog(null,"Enter no");
int b = Integer.parseInt(a);
StringBuilder sb = new StringBuilder();
for (int i = 0 ; i < b ; i++)
{
for (int j = 0; j < i; j++)
{
sb.append( "*" );
}
sb.append("\n");
}
JOptionPane.showMessageDialog(null, sb.toString());
请注意,此代码无法正常运行。我会让你解决索引范围的问题。
另一个选择是使用JTextArea在JOptionPane中显示输出,然后你的逻辑只需要一个循环。
在这种情况下,代码将类似于:
JTextArea textArea = new JTextArea(b, b);
StringBuilder sb = new StringBuilder();
for (int i = 0 ;i <b ; i++)
{
sb.append("*");
textArea.append(sb.toString());
textArea.append("\n");
}
JOptionPane.showMessageDialog(null, textArea); // not sure if
答案 1 :(得分:0)
我想这就是你想要的:
for (int i = 1; i <= b; i++)
{
for (int y = 1; y <= i; y++)
z += "*";
z += "\n";
}