用JAVA设计算法并输出可变行数的杨辉三角形

①输出的杨辉三角形行数由人工输入,对于用户的输入要有友好提示;②程序能够排除输入过程中的非法数据(如:输入的行数为负数或字符等,以后通常称为非法数据);③上下行数据对齐格... ①输出的杨辉三角形行数由人工输入,对于用户的输入要有友好提示;②程序能够排除输入过程中的非法数据(如:输入的行数为负数或字符等,以后通常称为非法数据);③上下行数据对齐格式(要考虑4位数)要符合杨辉三角定义; ④该三角形在屏幕上输出区域内左右居中,且整个输出为等腰三角形格式。 展开
 我来答
匿名用户
2013-12-24
展开全部
import java.util.Scanner;
public class YangHui {
public static void main(String[] args) {
int row = getInt("请输入需要打印的行数(1-20): ");
int[][] a = new int[row][row];
for (int i = 0; i < row; i++)
for (int j = 0; j < row; j++) {
if (j < i) {
a[i][j] = 1;
if (j == 0) {
a[i][j] = 1;
} else {
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
} else {
a[i][j] = 1;
}
} for (int i = 0; i < row; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(a[i][j]);
}
System.out.print("\n");
}
} /**
* 这里判断是不是输入非数字并且行数应该在1-20行之内
*
* @param tip
* @return
*/
public static int getInt(String tip) {
int row = 0;
try {
System.out.print(tip);
Scanner sc = new Scanner(System.in);
row = sc.nextInt();
} catch (Exception e) {
System.out.println("输入有误");
row = getInt(tip);
}
if (row < 1 || row > 20) {
System.out.println("输入有误");
row = getInt(tip);
}
return row;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式