javaSE_05Java中方法(函数)与重载、递归-练习

时间:2023-03-09 00:43:21
javaSE_05Java中方法(函数)与重载、递归-练习

1.使用的递归的方法求5!

public class DiGui{
public static void main(String[] args){
//使用的递归的方法求5!
System.out.println("5的阶乘是:");
System.out.println(jieCheng(5));
} public static int jieCheng(int n){
if(n==1){
return 1;
}else{
return jieCheng(n-1)*n;
}
}
}

2.实现一个刷屏小程序

javaSE_05Java中方法(函数)与重载、递归-练习

import java.util.Scanner;

public class ShuaPing{
public static void main(String[] args){
//刷屏小程序
System.out.println("我要开始刷屏了!哈哈!");
shuaPing(); System.out.println("我又要开始刷屏了!哈哈!");
Scanner input=new Scanner(System.in);
int n=input.nextInt();
shuaPing(n);
} public static void shuaPing(){
for(int i=1;i<=5;i++){
System.out.println("我要刷屏,3s后我要发红包了!");
} } public static void shuaPing(int a){
for(int i=1;i<=a;i++){
System.out.println(i+"我要刷屏,3s后我要发红包了!");
}
}
}

3.设计一个方法,打印直角三角形,要求可以通过方法参数的形式来控制打印的图像以及高度,比如打印图像为“$”,高度为8

javaSE_05Java中方法(函数)与重载、递归-练习

import java.util.Scanner;

public class Test1{
public static void main(String[] args){
//2.设计一个方法,打印直角三角形,
//要求可以通过方法参数的形式来控制打印的图像以及高度,
//比如打印图像为“$”,高度为8
Scanner input=new Scanner(System.in);
System.out.println("需要几行的三角形,请输入:");
int a=input.nextInt();
System.out.println("需要有什么组成的三角形,请输入:");
String s=input.next();
System.out.println("生成的三角形效果:");
print(a,s); } public static void print(int a,String s){
for(int i=1;i<=a;i++){
for(int j=1;j<=i;j++){
System.out.print(s);
}
System.out.println();
}
}
}

4.设计一个方法,打印nn乘法表,n的值由方法的参数决定

javaSE_05Java中方法(函数)与重载、递归-练习

import java.util.Scanner;

public class Test2{
public static void main(String[] args){
//3.设计一个方法,打印nn乘法表,n的值由方法的参数决定
chengFa(9);
chengFa(5);
} public static void chengFa(int n){
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
}
}

5.质数

素数也叫质数.是除了1和其本身,不能被其他正整数整除的正整数.

a)例如:2,3,5,7,11,13,17,19,23…..

a)写一个方法判断该数是否为素数(设计成一个方法 返回类型boolean)

b)输出某个范围内的所有素数,比如100-200之间。

import java.util.Scanner;

public class Test4{
public static void main(String[] args){
/*4.素数也叫质数.是除了1和其本身,不能被其他正整数整除的正整数.
a)例如:2,3,5,7,11,13,17,19,23.....
a)写一个方法判断该数是否为素数(设计成一个方法 返回类型boolean)
b)输出某个范围内的所有素数,比如100-200之间。
*/
Scanner input=new Scanner(System.in); //a)写一个方法判断该数是否为素数(设计成一个方法 返回类型boolean)
System.out.println("请输入一个数值来判断是否为质数:");
int a=input.nextInt();
boolean m=zhiShu(a);
System.out.println(m); //b)输出某个范围内的所有素数,比如100-200之间。
System.out.println("请输入一个取值范围来取该范围内的所有质数:");
int x=input.nextInt();
int y=input.nextInt();
System.out.println(x+"到"+y+"之间的所有质数:");
zhiShu(x,y);
} public static boolean zhiShu(int a){
int b=0;
if(a>=1){
for(int i=2;i<a;i++){
if(a%i==0){
b++;
break;
}
}
}
return b==0;
/*方法二: if(a>=1){
for(int i=2;i<a;i++){
if(a%i==0){
return false;
}
}
}
return b==0; */
} public static void zhiShu(int m,int n){
int max=m>n?m:n;
int min=m<n?m:n;
for(int i=min;i<=max;i++){
if(true==zhiShu(i)){
System.out.print(i+" ");
}
}
}
}