第九章---循环结构进阶

循环结构进阶:例题

1. 编写程序,打印如下图案,要求该图案的行数由用户输入:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

import java.util.Scanner;
public class Dijiuzhang {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.println("请输入该图案的行数:");
		int row=input.nextInt();
		for(int i = 1; i <=row ; i++){
			for(int j=1;j<=2*i-1;j++){
				System.out.print(j);
			}
			System.out.println("\n");
		}
	}
}

2. 百钱百鸡

import java.util.Scanner;
public class Dijiuzhang {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		int i;	//公鸡数
		int j;	//母鸡数
		int k;	//小鸡数
		for(i=0;i<20;i++){
			for(j=0;j<30;j++){
				k=100-i-j;	//*计算小鸡的数量
				if(5*i+3*j+k/3==100){
					System.out.println("公鸡:"+i+"母鸡"+j+"小鸡"+k);
				}
			}
		}
	}
}

3. 统计出三个班级大于85分以上的学员的平均分

import java.util.Scanner;
public class Dijiuzhang {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		       int count = 0;	//存储大于85分以上的人数
     		  double num = 0, sum = 0;		//*存储学员成绩,存储大于85分以上的总成绩
     		  for (int i = 0; i < 3; i++) {	//*外层控制班级数量
         			 System.out.println("第" + (i + 1) + "班的成绩:");
          			 for (int j = 0; j < 4; j++) {//*内层控制学员成绩
               				System.out.println("请输入第" + (j + 1) + "位学员的成绩:");
           				    num = input.nextDouble();
              				 if (num >= 85) {		//*如果成绩大于85分
                 		 	 sum += num;		//*85分以上的就累加
                   			count++;			//*记录85分以上的人数
               }
           }
           System.out.println("大于85分以上的人数"+count+"人\t"+"平均分:" + sum / count);//*输出平均分 
       }
   }
}

4. ATM取款

import java.util.Scanner;
public class Dijiuzhang {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		int password=111111;
		 for(int i=0;i<3;i++){		//*外层控制用户输入的密码次数是否通过
			 System.out.println("请输入密码:");
			 password=input.nextInt();
			 if(password==111111){
				 System.out.println("登录成功");
				 
			}else{
				 System.out.println("密码错误,您还有"+(3-i-1)+"次输入机会");
				continue;	//*控制如果输入错误,跳过本次输入,进行下一次输入
			 }
			 System.out.println("请输入金额:");
			 int money=input.nextInt();
			 for(int a=0;a<1000;a++){	//*内层控制用户输入的金额是否合法
				 if(money>=100 && money<=1000 && money%100==0){
					 System.out.println("您取了"+money+"元");
					 System.out.println("完成交易,请取卡!");
					 break;		//*交易成功,结束交易
				 }else{
					 System.out.println("您输入的金额不合法,请从新输入:");
					 money=input.nextInt();
					 continue;	//*控制如果输入的金额不合法,跳过本次输入,进行下一次输入
				 }
			 }
			 break;
		 }
	 }
}

5. 打印菱形

import java.util.Scanner;
public class Dijiuzhang {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.println("请输入菱形的高度(行数):");
		int height=input.nextInt();
		while(height%2==0){
			System.out.println("请输入奇数");
			height=input.nextInt();
		}
		int n=(height+1)/2;		//*分开打印,这是一个等腰三角形的行数
		for(int i=1;i<=n;i++){	//*外层循环变量i控制行数	
			for(int j=1;j<=n-i;j++){	//*内层循环变量j控制该行的空格数
				System.out.print(" ");
			}
			for(int k=1;k<=2*i-1;k++){	//*内层循环变量k控制改行的*符号
				System.out.print("*");
			}
			System.out.println();
		}
		//*以下菱形下半部分
		for(int w=1;w<=n;w++){		//*外层循环变量w控制行数
			for(int p=1;p<=w;p++){	//*内层循环变量j控制该行的空格数
				System.out.print(" ");
			}
			for(int g=1;g<=(2*(n-w)-1);g++){	//*内层循环变量g控制该行的*符号
				System.out.print("*");
			}
			System.out.println();	//*外层控制换行
		}
	}
}
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柳落青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值