JavaSE-方法定义与调用练习题
程序员文章站
2022-03-17 10:30:38
...
1. 编写一个方法,求整数n的阶乘,例如5的阶乘是12345。 [必做题].
package chap5;
public class Subject1 {
public static int factorial(int n,int sum){
sum*=n--;
if(n==1){
return sum;
}else{
return factorial(n, sum);
}
}
public static void main(String[] args) {
new Subject1();
int b = 5;
int r = Subject1.factorial(b, 1);
System.out.println(r);
}
}
2. 编写一个方法,判断该年份是平年还是闰年。[必做题]
package chap5;
public class Subject2 {
public static boolean leapYear(int n){
if(n%4==0 && n%10!=0 || n%40==0){
return true;
}else {
return false;
}
}
public static void main(String[] args) {
boolean b = leapYear(1890);
System.out.println(b);
}
}
3. 编写一个方法,输出大于200的最小的质数。[选做题]
package chap5;
public class SubjectS1 {
public static int isPrime(){
boolean b = false;
int i;
int start = 201;
int num = 201;
while(b==false){
int k = (int)Math.sqrt(start);
for(i=2;i<=k;i++){
if(start%i==0){
break;
}
}
//如果start%i==0,那抛掉start,此时情况为:i<k
if(i<k){
start++;
}else{
b=true;
num=start;
}
}
return num;
}
public static void main(String[] args) {
int result = isPrime();
System.out.println(result);
}
}
4. 写一个方法,功能:定义一个一维的int 数组,长度任意,然后将它们按从小到大的顺序输出(使用冒泡排序)(知识点:方法的定义和访问)。[选做题]
package chap5;
public class SubjectS2 {
public static int[] order(int[] arr){
for(int i=1;i<arr.length;i++){
for(int j=0;j<arr.length-i;j++){
if(arr[j]>arr[j+1]){
int a=arr[j+1];
arr[j+1]=arr[j];
arr[j]=a;
}
}
}
return arr;
}
public static void main(String[] args) {
int[] arr = {34,54,23,11,43,3};
System.arraycopy(order(arr), 0, arr, 0, arr.length);
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}
5. 判断一个数是不是质数
package chap5;
public class SubjectSS1 {
public static boolean prime(int n){
int m=2;
if(m<n){
if(n%m==0){
m++;
return false;
}
else{
return true;
}
}else{
return false;
}
}
public static void main(String[] args) {
boolean r = prime(300);
System.out.println(r);
}
}
上一篇: 如何查看linux信息
下一篇: 怎么查看linux版本信息
推荐阅读