Java基础练习题(循环控制语句)1

本文主要探讨Java编程中的循环控制语句,包括for、while、do-while等,通过实例解析它们的使用方法和常见陷阱,帮助初学者巩固基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**/注释符

import java.util.Scanner;

public class T2 {

	public static void main(String[] args) {
		/**1
		打印50张电影票
		实现思路:
		是否属于反复执行的问题
		确定循环变量、循环条件和循环体
		画出流程图
		使用while语法写出代码
		*/

		int x = 1;
		String sum = "电影票";
		while(x <= 51){			
			x ++;
			System.out.println(sum);
			}
		
		
		/*2
		老王每天早晨沿着操场慢跑10圈
		在第5圈的时候,会停下来休息5分钟再接着跑
		*/

		int q = 0;		
		while(q < 10){
			q ++;
			if(q == 5){				
				System.out.println("老王休息五分钟,下一圈再跑");
				continue;//结束本次循环,下一次继续
				
			}	
			
			System.out.println("第"+q+"圈");			
		}
		
		
		/**3
		
		马上要月考,老师为了帮助王蒙同学提高成绩,每天给他安排复习任务,
		上午复习概念知识,理解概念,下午训练案例,熟练掌握代码。
		老师每天检查学习成果是否合格,如果不合格,则继续进行
		实现思路:
		是否属于反复执行的问题
		确定循环条件和循环体
		画出流程图
		套用while语法写出代码
		*/

		int d = 1;		
		while(d <= 30){
			System.out.println("请输入成绩");
			int f = new Scanner(System.in).nextInt();
			d ++;
			
			if(f > 60 && f <= 100){				
				System.out.println("成绩合格");
				break;
			}else{
			System.out.println("成绩不合格,继续");
			System.out.println("上午复习概念知识,理解概念");
			System.out.println("下午训练案例,熟练掌握代码");
			}
		}
		
		
		/*4
		编程实现:计算100以内(包括100)的偶数之和
		设置断点并调试程序,观察每一次循环中变量值的变化
		*/

		int i = 2;
		int sum = 0;
		while(i<101){
			sum=i+sum;
			i+=2;
			System.out.println("100以内(包括100)的偶数之和:"+sum);
		}
		
		
		/**5
		循环输入某同学专业阶段考试的5门课成绩,并计算平均分
		思路分析:
		选择循环语句
		for循环步骤
		分析循环变量、循环条件和循环体
		代码实现
		确定循环退出条件
		*/

		int i = 1;//科目数
		int h = 0;//总成绩
		double p = 0;//平均分
		
		System.out.println("请输入学生姓名:");
		String n = new Scanner(System.in).next();
		
		for(i = 1 ; i <= 5 ; i ++){
			System.out.println("请输入第"+i+"门成绩:");
			int g=new Scanner(System.in).nextInt();
			h += g;
		}
		System.out.println(n + "的总成绩是:" + h);
		p = h / 5;
		System.out.println(n + "的平均成绩分是:" + p);
		
		
		/*6
		商场对顾客的年龄层次进行调查,计算各年龄层次的顾客比例
		*/

		int i = 1;//循环次数
		double a = 0;//30岁及以下人数
		double b = 0;//30岁以上人数
		for(i = 1;i <= 10;i ++){//循环条件
			System.out.println("请输入第" + i + "位顾客的年龄:");
			int age=new Scanner(System.in).nextInt();//键盘输入
			if(age > 0 && age <= 30){//判断条件
				a += 1;
			}else{
				b += 1;
			}
		}
		double c = a / 10;
		System.out.println("30岁及以下的比例是:" + c + "%");
		double d = b  /10;
		System.out.println("30岁以上的比例是:" + d + "%");
		
		
		/**7
		用循环嵌套实现
		外层循环控制行数
		内层循环控制每行的*号数
		*/

		for(int i = 1;i <= 5;i ++){
			for(int j = 1;j <= 5;j ++){
				System.out.print("*");
			}
			System.out.println();
		}	
		System.out.println();
		
		
		/*8
		循环嵌套及循环条件的设定
		使用Scanner对象接收用户输入		
		从控制台输入直角三角形的高度(行数)
		每行 * 的数目依次为1、3、5、7…		
		*/

		System.out.println("请输入直角三角形的行数:");
		int x=new Scanner(System.in).nextInt();
		for(int a=1;a<=x;a++){
			for(int b=1;b<=a;b++){
				System.out.print("* ");
			}
			System.out.println();
		}
		
		
		/**9
		从控制台输入直角三角形的高度(行数)
		每行*的数目从下至上依次为5、4、3、2…
		*/

		System.out.println("请输入直角三角形的行数:");
		int x=new Scanner(System.in).nextInt();
		for(int i=1;i<=x;i++){
			for(int j=i;j<=x;j++){
				System.out.print("* ");
			}
			System.out.println();
		}
		
		
		/*10
		求出1-100之间奇数和,实现计算“1+3+5+7+…+99”的值。
		提示:
		a. 用循环语句实现自然数1一99的遍历
		b. 在遍历过程中,通过条件判断当前遍历的数是否为奇数,
		如果是就累加,否则不加
		*/

		int sum=0;
		
		for(int i=1;i<=100;i++){
			if(i%2!=0){
				System.out.println(i);
			sum+=i;	
			}
		}
		System.out.println("1-100之间奇数和为:" + sum);
		*/
		
		/**11
		求出1-100之间偶数和
		
		int sum=0;
		
		for(int i=2;i<=101;i+=2){
			
			sum+=i;					
			
		}
		System.out.println("1-100之间奇数和为:" + sum);
		
		
		/*12
		输入两个数字m和n,运算求出m~n之间所有偶数的和
		*/

		System.out.println("请输入一个数m:");
		int m=new Scanner(System.in).nextInt();
		System.out.println("请再输入一个数n:");
		int n=new Scanner(System.in).nextInt();
		int sum=0;
		for(int i=m;i<=n;i++){
			if(i%2==0){
				sum+=i;
			}
		}
		System.out.println("m~n之间所有偶数的和:" + sum);		
		
		
		/**13
		1-1000之间同时满足如下条件的数据有多少个
		•   对3整除余2
		•   对5整除余3
		•   对7整除余2
		*/

		int a = 0;
		for(int i=1;i<=1000;i++){
			if(i%3==2 || i%5==3 || i%7==2){				
				a++;
			}			
		}
		System.out.println(a);
		
		
		/*14
		实现登陆功能:如果用户名输入“tom”,
		密码“123”,提示登陆成功,否则提示输“入错误,
		请重新输入!您还有XX次机会”(其中xx要明确打印出数值)
		三次输入错误后将不可以再输入,并提示“对不起,你的账号将被锁定”
		*/

		for(int x=2;x<3;x--){
			System.out.println("请输入用户名:");
			String user=new Scanner(System.in).next();
			System.out.println("请输入密码:");
			int password=new Scanner(System.in).nextInt();
		
			if("tom".equals(user) && password == 123){
				System.out.println("登陆成功");
				break;
			}else if(x==0){
				System.out.println("对不起,你的账号将被锁定");
				break;
			}
			System.out.println("输入错误,请重新输入!您还有"+x+"次机会");	
		}
		
		
		/**15
		输出九九乘法表
		*/

		for(int a = 1;a <= 9;a ++){
			for(int b = a;b <= 9;b ++){
				System.out.print(b + "*" + a + "=" + b*a + "\t");
			}
			System.out.println();//System.out.print("\r\n");
		}
		
		
		/*16
		小芳的妈妈每天给她2.5元钱,她都会存起来,
		但是,每当这一天是存钱的第5天或者5的倍数的话,
		她都会花去6元钱,请问,经过多少天,小芳才可以存到100元钱
		*/

		float m=0;
		int t=1;
		for(t=1;t<=1001;t++){
			m+=2.5;
			if(t%5==0){
				m-=6;
			}else if(m>=100){
				
				break;
			}
		}
		System.out.println("第"+t+"天");
		System.out.println("小芳已经存到"+m+"元");
		

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值