展开全部
老乡,32313133353236313431303231363533e58685e5aeb931333332633036我来帮你解答吧import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestStar {
static void Star(int num) {
// 输入一次,菱形星星阵遍历
for (int i = 0; i
for (int j = num - i - 1; j > 0; j--) {
System.out.print(" ");
}
for (int z = 0; z <= i; z++) {
System.out.print("* ");
}
System.out.println();
}
for (int i = num - 2; i >= 0; i--) {
for (int j = i; j
System.out.print(" ");
}
for (int z = 0; z <= i; z++) {
System.out.print("* ");
}
System.out.println();
}
// int c = 0;
// try {
// c = System.in.read();
// } catch (IOException e) {
// e.printStackTrace();
// }
// Star(c);
return;
}
public static void main(String[] args) {
while (true) {
try {
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(reader);
System.out.println("请输入菱形阵横向轴线上星星的个数:");
int num = 0;
String temp = input.readLine();
num = Integer.parseInt(temp);
if (num == 0) {
System.out.println("程序出口");
break;
}
if (num
System.out.println("您输入的数字有误!");
return;
}
Star(num);
} catch (IOException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
}
}
}
}
关键是你的star()函数里,我注释掉的那几行,它永远走不出这个方法了,不会再执行while(true)了,就类似死循环了。try/catch语句应该写在while(true)里