专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 编程基础分享,Java流程控制练习

编程基础分享,Java流程控制练习

更新时间:2020-07-06 16:05:03 来源:星辉 浏览1634次

基本功训练1——计算阶乘

利用For循环计算数字N的阶乘。实现计算阶乘的公式为“n!=n*(n-1)*(n-2)…*2*1”。实例代码如下:

public classFactorial {
public static void main(String[] args) {
int n = 16;
long result = 1;
if ((n < 0) || (n > 17)) {
System.out.println("n的取值范围是0至17,大于17会超出long类型范围");
} else if (n == 0) {
System.out.println("0的阶乘等于1");
} else {
for (int i = n; i > 0; i--) {
result *= i;
}
System.out.println(n + "的阶乘等于:" + result);
}
}
}

可以修改变量n的值计算不同数字的阶乘。由于大于17的数值的阶乘,超过了long类型的取值范围,所以程序屏蔽了大于17的数字。另外,数学上没有负数的阶乘,所以程序要求n必须大于等于0。0的阶乘为1,所以程序直接利用if判断输出0!等于1。其它数字将使用for循环计算结果。

运行结果如图1所示。

编程基础分享,Java流程控制练习

基本功训练2——遍历21世纪的闰年

创建SearchLeapYear类,在该类的主方法中定义一个年历21世纪所有年份的循环,在循环中判断这些年份是否为闰年,并在控制台中把所有闰年年份输出,每行只输出5个闰年。实例代码如下:

public classSearchLeapYear {
public static void main(String[] args) {
int count=0; // 声明计数器
for (int year = 2000; year <= 2100;year++) {// 遍历21世纪年份
if (year % 4 == 0 && year %100 != 0 || year % 400 == 0) { // 是闰年
System.out.print(year + "是闰年!\t"); // 输出闰年
count++;// 计数器累加
if(count>4){// 每隔5个年份换行
System.out.println();
count=0;
}
}
}
}
}

实例运行结果如图所示。

编程基础分享,Java流程控制练习

基本功训练3——输出空心的菱形

创建Diamond类,在该类的主方法中完成10行的空心菱形输出,实现方法是使用两个双层For循环分别输出菱形的上半部分与下半部分,实例代码如下:

public classDiamond {
public static void main(String[] args) {
int size = 10;
if (size % 2 == 0) {
size++;// 计算菱形大小
}
for (int i = 0; i < size / 2 + 1;i++) {
for (int j = size / 2 + 1; j > i+ 1; j--) {
System.out.print("");// 输出左上角位置的空白
}
for (int j = 0; j < 2 * i + 1;j++) {
if (j == 0 || j == 2 * i) {
System.out.print("*");//输出菱形上半部边缘
} else {
System.out.print("");// 输出菱形上半部空心
}
}
System.out.println("");
}
for (int i = size / 2 + 1; i < size;i++) {
for (int j = 0; j < i - size /2; j++) {
System.out.print("");// 输出菱形左下角空白
}
for (int j = 0; j < 2 * size - 1- 2 * i; j++) {
if (j == 0 || j == 2 * (size -i - 1)) {
System.out.print("*");//输出菱形下半部边缘
} else {
System.out.print("");// 输出菱形下半部空心
}
}
System.out.println("");
}
}
}

实例运行结果如图所示。

编程基础分享,Java流程控制练习

以上就是星辉java培训机构的小编针对“编程基础分享,Java流程控制练习”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>