第五章练习题目

这篇博客包含一系列编程练习的题目和常见错误分析,涉及Java编程、算法和逻辑判断。主要内容包括:根据交通规则计算通行次数、整数范围判断、闰年检测、水仙花数、数字过滤、字符打印、级数求和等。每道题目都有详细的错误总结和代码改进。
摘要由CSDN通过智能技术生成

目录

第一题:

要求:

出现的错误总结:

第二题:判断一个整数的范围 大于0,小于0 ,等于0

出现的错误:

 第三题:

要求:

代码:

出现的错误:

第四题:

要求

代码:

第五题跳过

第六题 :

要求:

错误原因:

更改后的代码

第七题:

要求:

关键知识点:

第八题:

要求:

分析:

错误原因:

改正:

 第九题:

要求:

分析:


第一题:

要求:

假设某人有100000现金。 每经过一次路口需要进行一次交费。 交通规则为为当他现金大于50000时每次需要交5%如果现金小于等于50000时每次交5000。 请写一程序计算此人可以经过多少次这个路口

第一遍代码

        //分三种情况 1)>50000,2)<=50000或者>=1000,3)<1000
        //定义变量表示钱,过路费,次数,
        //double money = 100000;double cost = 0;int count = 0; 
        //

public class HomeWork0101{
	//编写一个main方法
	public static void main(String[] args){
		
		double money = 100000;
		int count = 0;
		double cost = 0;
		if(money > 50000){
			cost = money*0.05;
			money -= cost;
			count++;

		}else if(money >= 1000){
			cost = 1000;
			money -= cost;
			count++;
		}else{
			System.out.println("该人费用不够通过一次路口");
		}
		System.out.println("该人可以经过" + count + "次路口");
	}

}

运行结果,只有一次,只运行了第一个if得到count = 1就输出了

所以需要循环计算,但是我们并不知道这个程序需要循环多少次,所以使用while(true)这个死循环,当money<1000的时候用break结束这个循环

public class HomeWork0101{
	//编写一个main方法
	public static void main(String[] args){
		
		
		double money = 100000;
		int count = 0;
		double cost = 0;
		
		while(true){
			if(money > 50000){
			cost = money*0.05;
			money -= cost;
			count++;

			}else if(money >= 1000){
				cost = 1000;
				money -= cost;
				count++;
			}else{
				break;
			}
		}
		System.out.println("该人可以经过" + count + "次路口");
		
	}

}

出现的错误总结

1.数字10000,不能写成10,000;2.定义变量后面的常量可以是表达式,但是不能有百分号,如money*5%就不行,必须写成money*0.05  3.break语句必须用在循环语句中

代码精简:cost = money*0.05;  money -= cost; 可以写成 money = money-money*0.05  money=money*0.95进一步简化成 money *= 0.95;

cost = 1000;  money -= cost; 简化成money -= 1000;不需要cost这个变量了

public class HomeWork0101{
	//编写一个main方法
	public static void main(String[] args){
		
		double money = 100000;
		int count = 0;
		
		
		while(true){
			if(money > 50000){
			
			money *= 0.95;  
			count++;

			}else if(money >= 1000){
				
				money -= 1000;
				count++;
			}else{
				break;
			}
		}
		System.out.println("该人可以经过" + count + "次路口");
		
	}

}

第二题:判断一个整数的范围 大于0,小于0 ,等于0

import java.util.Scanner;
public class HomeWork0201{
	//编写一个main方法
	public static void main(String[] args){
		Scanner sc = ne
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值