前言:公号 「编程有料」后台回复 “大礼包” 即可获取近1000本助力你编程之路的电子书
1,打印九九乘法表
打印格式如下:
分析
实现九九乘法表要从结构和计算两个角度进行切入。
首先看结构,它是一个直角三角形,可以通过两层循环的嵌套来实现形状问题和结构问题。
关键代码如下:
for(int i=;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.format("*");//输出用了format,不换行显示
}
System.out.println();
}
其次,通过结构中代码的分析可以看出循环变量“i” 和 “j” 都是从1 到9 按照规律进行循环更新值,关键代码如下:
for(int i=1;i<=9;i++){
for(iint j=1;j<=i;j++){
System.out.format("%d*%d=%-4d",j,i,(i*j));//注意格式
}
System.out.println();
}
在嵌套循环中可以通过Java 提供的标签功能快速从内部循环跳到外层某一个定义好标签的循环,结合“break”和“continue”使用。通过如下代码体会嵌套循环中标签的用法。
public class Demo{
public static void main(String[] args){
myLoop:
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(i%2==0){
System.out.println("*"+i);
break myLoop;
}
System.out.println("$"+i);
}
}
}
}//在比价复杂的嵌套循环结构中会用到标签,以便简化部分逻辑。
2,斐波拉契数列
维基百科上关于斐波那契数列的说明如下:斐波那契数列由0 和 1 开始,之后的斐波 那契数就是由之前的两数相加而得出,前面几个斐波那契数是0,1,1,2,3,5,8,13,21, 34,55,89,144,233 …… 特别指出:0 不是第 1 项,而是第0项。
用程序实现斐波那契数列打印的方法之一是用循环结构。以下代码实现了前 20 个斐波 那契数的打印。
int n1 = 1, n2 = 1, num = 0;
// 先输出前 3 个数
System.out.format ("%d-5% -5%d -5d%",0,n1,n2);
for (int i = 0; i< 9;i++){ //输出后续的 8 个规律数
num = n1 + n2; //获得前两个数之和,存人 num
n1 = n2; //前一个数成为下一个数
n2 = num; //下一个数成为之前两数之和
System.out.format ("*-5a", num); //打印两数之和
}
//输出结果为:
输出结果为:“0 1 1 2 3 5 8 13 21 34 55 “。建议通 过断点调试观察变量值和输出内容的变化。
3.解析五位正整数,求个位、十位、百位、千位、万位之和
通过循环取余数和整除取整可以达到目的。比如整数 358,通过取余 10 可以得到 8 (即个位数),通过整除 10、从 358 变为 35,方便下次继续取余 10,获取个位数。通过以下 示例代码可以直观了解通过循环解决此类问题的思路。
import java.util.Scanner;
public class Demo{
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int num=0,sum=0;
System.out.print("请输入五位数及以下的正整数");
num=input.nextInt();
if(num<0||num>=100000){//判断有效性
System.out.println("范围超出,程序将推出");
return ;
}
while(num>0){
int temp=num%10;//获取个位数
sum+=temp;//进行累加
num/=10;//整除
}
System.out.println("位数之和是:"+sum);
}
}