java中for循环练习题
1 、一球从100米高度自由落下,每次落地后反跳回原高度的一半;请编写程序求它在 第10次弹起至最高处时,共经过多过少米?第10次反弹多高?
public class Demo{
public static void main(String[] args){
int i=0;//弹起次数
double sum=0;//球所经过的路程,一开始为0.
for (double h = 100; h > 0 ;) {//每次弹起至的高度都会折半,依次类推,形成循环。
sum=sum+h+h/2;//计算球经过的路程
i++;//球反弹次数的累加。
h=h/2;//反弹高度折半计算
if (i==10) {//到第10次弹起时输出h和sum。
System.out.println("第10次弹起的最高度:"+h);
System.out.println("从一开始到第10次弹起最高度的路程:"+sum);
break;
}
}
}
}
嵌套循环练习题
1 、九九乘法表
for (int i = 9; i >= 1; i--) {//控制行数
for (int j = 1; j <= i; j++) {//控制每行打印的个数
System.out.print(j + "*" + i + "=" + j * i + "\t");
}
System.out.println();
}
2 、百钱买百鸡
int i=0;
for(int x=0;x<=20;x++) {
for(int y=0;y<=33;y++) {
int z=100-x-y;
if (x+y+z==100 && 5*x+3*y+z/3==100) {
i++;
System.out.println("第"+i+"种方法:"+"公鸡:"+x+"只" +" "+"公鸡:"+y+"只"+" "+"公鸡:"+z+"只");
}
}
}
3 、用大写字母打印出一个简单三角形。
for(int a=65;a<=70;a++) {//A的ASCII码是65,从65到70一共打印6行
for(int b=65;b<=a;b++) {//每行打印a列
System.out.print((char)b+" ");//(char)b就是讲b转成字符型,b是一个ASCII码
}
System.out.println();
}
char ch='A';
for(int i=1;i<=5;i++) {
for(int j=1;j<=i;j++) {
System.out.print((ch++)+" ");
}
System.out.println();
}
4 、杨辉三角
int Triangle[][] = new int[7][7];
for (int i = 0; i < Triangle.length; i++) {
for (int j = 0; j <=i; j++) {
if(j==0 || i==j) {
Triangle[i][j]=1;
}else {
Triangle[i][j]=T[i-1][j]+Triangle[i-1][j-1];
}
System.out.print(Triangle[i][j]+" ");
}
System.out.println();
}
5 、