【方法】 练习题

1. 封装一个方法,返回两个整数里的较大那个

class HomeWork1 {
	public static void main(String[] args) {
		int num = 0;
		
		System.out.println("方法调用之前:" + num);
		num = maxOfNumber(10,20);
		
		System.out.println("方法调用之后:" + num);
	}
	public static int maxOfNumber(int num1, int num2)  {
		/*if(num1 > num2) {
			return num1;
		} else {
			return num2;
		}
		*/
		return num1 > num2? num1 : num2;
	}
}

2. 封装一个方法,返回两个浮点数里的较小那个

class HomeWork2 {
	public static void main(String[] args) {
		double num = 0;
	
		num = minofNumber(2.1, 3.2);
		
		System.out.println(num);
	}
	public static double minofNumber(double num1,double num2) {
		return num1 < num2? num1 : num2;
	}
}

3. 封装一个方法,来判断一个字符是否是大写字母,如果是,返回true,否则返回false

class HomeWork3 {
	public static void main(String[] args) {
		boolean ret = isMyUpper('a');
		System.out.println(ret);
	}
	public static boolean isMyUpper(char c) {
		return c >= 'A' && c <= 'Z';
	}	
}

4.封装一个方法,来判断一个字符是否是数字字符,如果是,返回true,否则返回false!

class HomeWork4 {
	public static void main(String[] args) {
		boolean ret = isMyNumber('9');
		
		System.out.println(ret);
	}
	public static boolean isMyNumber(char c){
	  		return c >= '0' && c <= '9';
	}
}

5.封装一个方法,来判断一个字符是否是英文字母,如果是,返回true,否则返回false!

class HomeWork5 {
	public static void main(String[] args) {
		boolean ret = isMyEnglish('9');
		
		System.out.println(ret);
	}
	public static boolean isMyEnglish(char c) {
		return c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z';
	}
} 

6. 封装一个方法,传入一个字符,如果是大写那么转化小写然后返回,否则保持不变返回

class HomeWork6 {
	public static void main(String[] args) {
		char ch = 0;
		ch = toMyLower('A');
		
		System.out.println(ch);
	}
	public static char toMyLower(char ch) {
	if( ch >= 'A' && ch <= 'Z') {
		ch += 'a' - 'A'; 
	}
	return ch;
	}
}

7. 封装一个方法,实现将一个正整数,倒序打印输出! 1234 4321

class HomeWork7 {
	public static void main(String[] args) {
		reverse(1234);
		
		//System.out.println(num);
	}
	public static int reverse(int num) {
		while(num > 0) {
			
			System.out.println(num % 10);
			num /= 10;
		}	
        return num;		
	}
}

8. 表达式(立方)    编写程序,计算该数的立方

class HomeWork8 {
	public static void main(String[] args) {
		double num = 0;
		num = cube(10);
		System.out.println(num);
	}
	public static double cube(double num) {
		return num * num * num;
	}
}

9. 输入一个年份,判断该年份是平年还是闰年

class HomeWork9 {
	public static void main(String[] args) {
		boolean ret = isLeap(2008);
		
		System.out.println(ret);
	}
	public static boolean isLeap(int year) {
		return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
	}
}

10. 表达式(正数判断)传入一个数字, 判断这个数是否是正数(是,打印YES,不是输出NO)

class HomeWork10 {
	public static void main(String[] args) {
		int num = 0;
		num = isPositiveNumber(-34);
		
		System.out.println(num);
	} 
	public static int isPositiveNumber(int num) {
		if(num > 0) {
			return num;
		} else {
			return -1 * num;
		}
	}

 11. 求15的阶乘
           1*2*3*4*5....*15

/*
注意数据结果在整个运算过程中的延展性!!!采用合适的数据类型存储最终结果
阶乘建议采用double

一框 找核心代码
          double ret 变量定义到for循环阶乘计算结束
二看 上看找参数,下看找返回
          参数:
		         (int num)
		  返回值:
		          double
		  方法名:
		           getFactorial
		  方法声明:
		            public static double getFactorial(int num)
三封装  封装核心代码
		          
*/
class HomeWork11 {
	public static void main(String[] args) {
		int num = 15;
		
		double ret = getFactorial(num);
		
		System.out.println(ret);
	}
	public static double getFactorial(int num) {
		double ret = 1;
		for(int i = 1; i <= num; i++) {
			ret *= i;
		}
		return ret;
	}
}

12. 完成30位以内的斐波那契数列
    1 1 2 3 5 8 13 21 34 55 89 144 ...

class HomeWork12 {
	public static void main(String[] args) {
		int count = 100;
		
		getFibonacci(count);
	}
	/*
	根据用户提供的数据数列个数,展示斐波那契数列
	
	@param count 用户指定的数据个数
	*/
	public static void getFibonacci(int count) {
		double num1 = 1;
		double num2 = 1;
		
		System.out.println(num1);
		System.out.println(num2);
		
		for(int i = 1;i <= count; i++) {
			/*
			num2存储计算得到的新数据
			num1存储num2的老数据
			*/
			double temp = num2;
			num2 += num1;
			num1 = temp;
			
			System.out.println(num2);
		}
	}
}

13. 分解质因数
    例如:
        30 ==> 2 * 3 * 5
        90 ==> 2 * 3 * 3 * 5
        40 ==> 2 * 2 * 2 * 5

class HomeWork13 {
	public static void main(String[] args) {
		int num = 90;
	    zhiYinShu(num);
	}
	public static int zhiYinShu(int num) {
		for (int i = 2; i <= num; i++) {
			if (num % i == 0) {
				System.out.println(i);
				
				num /= i;
				i--;
			}
		}
	}
}

 14.

   *****   
   *****   

   *****   
   *****   
   *****   

 class HomeWork14 {
	 public static void main(String[] args) {
		 int line = 5;
		 picture(line);
	 }
	 /*
	 根据用户指定的行数,展示一个星星矩阵
	 
	 @param line 用户指定的总行数
	 */
	 public static void picture(int line) {
		 /*
		 外层循环,控制图形的总行数
		 */
		 for(int i = 1; i <= line; i++) {
			 /*
			 内层循环,控制每一行星星个数
			 */
			 for(int j = 1; j <= line; j++) {
				 System.out.print('*');
			 }
			 System.out.println();
		 }
	 }
 }

15.

  *        
  **       
  ***      
  ****     
  *****    

 class HomeWork15 {
	 public static void main(String[] args) {
		 int line = 10;
		 picture(line);
	 }
	 /*
	 根据用户指定的图形行数,展示一个直角三角形
	 
	 @param line 用户指定的行数
	 */
	 public static void picture(int line) {
		 /*
		 外层循环控制总行数
		      i对于数据就是当前是第几行,可以用于控制内层循环
		 */
		 for(int i = 1; i <=line; i++) {
			    //内层循环控制每一行星星个数,星星个数 == i
			 for(int j = 1; j <= i; j++) {
				 System.out.print('*');
			 }
			 System.out.println();
		 }
	 }
 }

 16.    

      *     
     ***  
    ***** 
   *******  
  ********* 
  

 class HomeWork16 {
	 public static void main(String[] args) {
		 int line = 7;
		 picture(line);
	 }
	 public static void picture(int line) {
		 //总行数5行
		 for(int i = 1; i <= line; i++) {
			 内层循环 for j处理空格个数
			 for(int j = 1; j <= line - i; j++) {
				 System.out.print(" "); 
			 }
			     //内层循环 for j处理星星个数
				 for(int j = 1; j <= 2 * i - 1; j++) {
				 System.out.print('*');
			 }
			 System.out.println();
		 }
	 }
 }

         
 
        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值