尚学堂第三章作业

/**
 * 尚学堂第三章作业
 * @author Su Tom
 *
 */
/*
 * 1选择题:(1)A    (2)BD    (3)A    (4)BD    (5)B
 * 
 * 2简答题:(1)异:多选择结构与switch的关系:当布尔表达式是等值判断的情况,可使用多重选择结构或switch结构,
 * 如果布尔表达式区间判断的情况,则只能使用多重选择结构
 * 同:都是选择结构
 * (2)break和continue作用:退出当前所在的循环体,其中break推出整个循环,而continue则推出本次循环,
 * 本次下面的循环体不执行,继续前面循环,带有标签的break和continue可以退出到标签指定的地。
 * (3)使用标签来用break跳出外层循环
 * 
 * (4) 定义: 方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法。 调用时,会根据不同的参数自动匹配对应的方法。
 * 作用:用相同方法名,不同的含义(形参类型、形参个数、形参顺序)来表达不同的方法
 * 判断依据:看形参类型、形参个数、形参顺序是否相同
 * 
 * (5)递归定义:,一个使用递归技术的方法将会直接或者间接的调用自己
 * 优点:简单明了,易理解
 * 缺点:占内存,;耗时间,耗资源
 * 
 * 3.编码题:
 */
import java.util.Scanner;
public class Task {
	public static void main(String[] args) {
		//1. 从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。
		System.out.println("请输入一个十进制整数:");
		Task methods = new Task();
		int temp1 = methods.decimalConvertBinal(1, 0);	//临时存储返回值
		System.out.println("二进制结果为:" + temp1);
		
		
		//2. 编程求:∑1+∑2+……+∑100。
		int temp2 = methods.totalNum();					//temp2存储返回值
		System.out.println("∑1+∑2+……+∑100 = " + temp2);
		
		
		//3.编写递归算法程序:一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求数列的第40位数是多少。
		
		System.out.println("第40位数字是:" + methods.sequence(40));
		
	}
/*
 * 第一题方法
 * 十进制转换为二进制方法
 */
	int decimalConvertBinal(int i,int changeNum) {		//changeNum为二进制数,此方法返回值为二进制
		Scanner scanner = new Scanner(System.in);
		int num = scanner.nextInt();
		for(;;) {
			if(num == 0) {
				break;
			}
			else {		
				int remainNum = num % 2;		//余数
				num = num / 2;					//以商作为被除数
				changeNum += remainNum * i;
				i = i * 10;
			}
		}
		return changeNum;
	}
	
	
	/*
	 * 第二题方法
	 * 求和方法
	 */
	
	int totalNum() {
		int sum = 0;
		for(int j = 1;j <= 100;j++) {
			for(int i = 1;i <= j;i++) {
				sum += i;
			}
		}
		return sum;
	}
	
	
	/*
	 * 第三题方法
	 * 数列递归方法
	 */
	
	int sequence(int num) {
		if(num == 1 || num == 2) {
			return 1;
		}else {
			return (sequence(num - 1) + sequence(num - 2));
		}
	}

}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值