我应该得到这个系列
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
注意:提到的空格必须存在,它应该具有与我提到的完全相同的输出 我试过这个:
class pattern_19
{
static void main()
{
int i,j;
int s=1;
System.out.println(s);
for(i=1;i<=6;i++)
{
for(j=1;j<=i;j++)
{
s=s*11;
}
System.out.println(s);
s=1;
}
}
}
MY OUTPUT:
11
121
1331
14641
161051
1771561
这不起作用任何帮助将不胜感激
答案 0 :(得分:1)
您的代码无法编译,因为您的主方法未正确定义。这是一回事,但不是您获得意外输出的主要原因。
您的s
变量代表每行的一个整数。
你需要做的就是拆分你的int
并分别打印每个数字。
这是一个修正,我使用增强循环和charArray单独打印数字但当然还有其他方法来实现这一点(使用循环和整数除法也可以工作或修改你找到的方式{{1} })。
s
PS:当你需要长度为2的数字时,乘以11将无法工作。我现在就编辑我的答案。
public static void main(String[] args)
{
int i,j;
int s=1;
System.out.println(s + " ");
for(i=1;i<=6;i++)
{
for(j=1;j<=i;j++)
{
s=s*11;
}
for (char c : String.valueOf(s).toCharArray()) System.out.print(c + " ");
System.out.println();
s=1;
}
}
答案 1 :(得分:0)
我终于得到了一个替代方法来做同样的事情
public class PascalTriangle {
public static void main() {
int rows = 6;
for(int i =0;i<rows;i++) {
int number = 1;
System.out.format("%"+(rows-i)*2+"s","");
for(int j=0;j<=i;j++) {
System.out.format("%4d",number);
number = number * (i - j) / (j + 1);
}
System.out.println();
}
}
}
答案 2 :(得分:0)
现在这可以正常工作了。