import java.io.*;
import java.lang.*;
class sa
{
public static void main(String args[])
{
int i,j,caunt=1, k,m=1;
System.out.flush();
try
{
k=(int)System.in.read();
while (caunt<=k)
{
for(i=m;i<=m;i++)
{
for(j=1;j<=i;j++)
{
System.out.print(caunt);
++caunt;
}
System.out.print ("\n");
}
++m;
}
}
catch(IOException e)
{
System.out.println(e);
}
}
}
当我输入 10 它应该显示时,该程序旨在显示 ployd 三角形 喜欢
1
23
456
78910
但它正在显示
1
23
456
78910
,,,,,,
,,,,,,,
,,,,,,,,,
,,,,,,,,,,,,,,55
请帮帮我
最佳答案
我认为问题出在这一行:
k=(int)System.in.read();
问题是您读入的是一个字符,而不是您期望的数字。我会做以下而不是上面的行:
Scanner stdin = new Scanner(System.in);
k=stdin.nextInt();
我已经测试过了,这是有效的。
生成的代码如下所示:
int i, j, caunt = 1, k, m = 1;
System.out.flush();
Scanner stdin = new Scanner(System.in);
k = stdin.nextInt();
while (caunt <= k) {
for (i = m; i <= m; i++) {
for (j = 1; j <= i; j++) {
System.out.print(caunt);
++caunt;
}
System.out.print("\n");
}
++m;
}
关于java - 弗洛伊德三角的意外显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4820490/