JAVA控制结构作业(Chapter05)

第五章作业(控制结构)

1.交路费

要求:某人有100,000元,每经过一次路口,需要交费,规则如下:

1)当现金> 50000时每次交5%
2)当现金< = 50000时每次交1000
编程计算该人可以经过多少次路口,要求:使用while + break方式完成

/**
 * @author whj
 * @version 1.0
 */
//某人有100,000元,每经过一次路口,需要交费,规则如下:
//1)当现金> 50000时每次交5%
//2)当现金< = 50000时每次交1000
// 编程计算该人可以经过多少次路口,要求:使用while + break方式完成
//分析:
//1.首先有2个变量存储金额的数据和路口数目;
//2.要求1;
//3.要求2;
//4.使用while break。
public class Homework01 {
	public static void main(String[] args) {
		double cash = 100000;//金额
		int count = 0;//路口数目
		while(cash >= 0) { //金额为正
			if(cash > 50000){ //金额大于50000的处理
				cash *= 0.95;// 扣除路口费用
				count++;//路口数 + 1
				System.out.println("目前通过了" + count + 
				"个路口,剩余金额:" + cash +".");
			} else if(cash >= 1000 ) { // 金额小于50000
				cash -= 1000;
				count++; 
				System.out.println("目前通过了" + count + 
				"个路口,剩余金额:" + cash +".");
			} else {
				break;//金额不足够扣除下一次的费用,退出			
			}	
		}
		System.out.println("一共通过了" + count + 
			"个路口,剩余金额:" + cash +".");
	}
}

显示结果:

一共通过了62个路口,剩余金额:767.4979115529641.

2.实现判断-一个整数,属于哪个范围:大于0;小于0;等于0

/**
 * @author whj
 * @version 1.0
 */
//2.实现判断-一个整数,属于哪个范围:大于0;小于0;等于0
public class Homework02 {
	public static void main(String[] args) {
		int num = 0;
		if (num > 0) {
			System.out.println(num + "大于0。");
		} else if (num < 0) {
			System.out.println(num + "小于0。");
		} else {
			System.out.println(num + "等于0。");
		}
	}
}

3.判断一个年份是否为闰年

/**
 * @author whj
 * @version  1.0
 */
//3.判断一个年份是否为闰年
//分析:
//1.有一个保存年份的变量;
//2.闰年条件:能被4整除但是不能被100整除;能被400整除。
//使用双分支语句即可
public class Homework03 {
	public static void main(String[] args) {
		int year = 2024;
		if ((year % 4 == 0 && year % 100 !=0) || year % 400 == 0) {
			System.out.println(year + "是闰年。");
		} else {
			System.out.println(year + "不是闰年。");
		}
	}
}

4.判断一个整数是否是水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。例如:153 = 111 + 333 + 555

/**
 * @author whj
 * @version 1.0
 */
//4.判断一个整数是否是水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方
//和等于其本身。例如:153 = 1*1*1 + 3*3*3 + 5*5*5
//分析:
//1.首先是三位数
//2.三位数中个位数的立方和等于本身。
public class Homework04 {
	public static void main(String[] args) {
		int num =121;
		if (num <= 999 &&num >= 100) {//三位整数
			if (Math.pow(num / 100,3) + Math.pow(num % 100 / 10,3) 
				+ Math.pow(num % 10,3) == num) {//满足条件
			System.out.println(num + "是水仙数。1");
			} else {//不满足条件
				System.out.println(num + "不是水仙数。2");
			}
		} else {//不是三位整数
			System.out.println(num + "不是水仙数。3");
		}
	}
}

显示结果:

121不是水仙数。2

5.看看下面代码输出什么?

public class Homework05 {//什么都没有输出
	public static void main(String[] args) {
		int m = 0,n = 3;
		if (m > 0) {
			if (n > 2) {
				System.out.println("OK1");
			} else {
				System.out.println("OK2");
			}
		}
	}
}

6.输出1-100之间的不能被5整除的数,每5个一 行

/**
 * @author whj
 * @version  1.0
 */
//6.输出1-100之间的不能被5整除的数,每5个一 行Homework06.java
//分析:
//1.输出1-100;
//2.判断能否被5整除;
//3.每五个一行;
public class Homework06 {
	public static void main(String[] args) {
		int count = 0;//计数值
		for (int i = 1;i <= 100;i++ ) {
			if (i % 5 != 0) {
				System.out.print(i + "\t");
				count++;
				if (count == 5) {
					System.out.print("\n");
					count = 0;
				}
			}
		}
	}
}

显示结果:

1       2       3       4       6
7       8       9       11      12
13      14      16      17      18
19      21      22      23      24
26      27      28      29      31
32      33      34      36      37
38      39      41      42      43
44      46      47      48      49
51      52      53      54      56
57      58      59      61      62
63      64      66      67      68
69      71      72      73      74
76      77      78      79      81
82      83      84      86      87
88      89      91      92      93
94      96      97      98      99

7.输出小写的a-z以及大写的Z-A

/**
 * @author WHJ
 * @version 1.0
 */
//7.输出小写的a-z以及大写的Z-A
//分析:
//1.输出字符a-z;
//2.输出字符A-Z;
public class Homework07 {
	public static void main(String[] args) {
		// char word;
		for (char word = 'a'; word <= 'z';word++ ) {
		 	System.out.print(word);
		 } 
		 System.out.println("");
 		for (char word = 'Z'; word >= 'A';word-- ) {
		 	System.out.print(word);
		 } 
	}
}

显示结果:

abcdefghijklmnopqrstuvwxyz
ZYXWVUTSRQPONMLKJIHGFEDCBA

8.求出1-1/2+ 1/3-1/…1/100的和

/**
 * @author whj
 * @version 1.0
 */
//8.求出1-1/2+ 1/3-1/....1/100的和
//分析:
//1.从分母出发输出1-100;
//2.修改符号,奇数为正,偶数为负数;
public class Homework08 {
	public static void main(String[] args) {
		double sum = 0.0;
		for (int i = 1;i <=100;i++ ) {
			if (i % 2 != 0) {
				sum += 1.0 / i;	
			} else {
				sum -= 1.0 / i;	
			}
		}
		System.out.println("和是" + sum);
	}
}

显示结果:

和是0.688172179310195

9.求1+ (1+2) + (1+2+3) + (1+2+3+4) +…+(1+2+3+…+ 100)的结果

/**
 * @author whj
 * @version 1.0
 */
//9.求1+ (1+2) + (1+2+3) + (1+2+3+4) +...+(1+2+3+..+ 100)的结果
//分析:
//1.输出1-100
//2.每个循环中从1加到循环次数;
public class Homework09 {
	public static void main(String[] args) {
		int sum = 0;
		for (int i = 0;i <= 100;i++ ) {
			int tempSum = 0;
			for (int j = 0;j <= i ;j++ ) {
				tempSum += j;
			}
			sum += tempSum;
		}
		System.out.println("和是" + sum);
	}
}

显示结果:

和是171700
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值