吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1431|回复: 4
收起左侧

[Java 转载] Java自学记录Day21

[复制链接]
JXNU1999python 发表于 2021-12-8 18:11

Java学习记录Day21

1、编写一个方法,求整数n的阶乘,例如5的阶乘是12345

思考:这个方法应该起什么名字,这个方法的形参是什么,方法的返回值类型是什么。
方法名为printFactorial,意思为输出阶乘,形参类型是整型,返回值类型也是整型。

import java.util.Scanner;

    public class Work01 {

    public static void main(String[] args) {
    //      1、编写一个方法,求整数n的阶乘,例如5的阶乘是1*2*3*4*5
    //      思考:这个方法应该起什么名字,这个方法的形参是什么,方法的返回值类型是什么。

    }
    public static int printFactorial(){
        Scanner input=new Scanner(System.in);
        System.out.print("请输入一个数字:");
        int n=input.nextInt();
        int fact=1;
        for(int i=1;i<=n;i++){
            fact*=i;
        }
        return fact;
    }

}

2、编写一个方法,输出大于某个正整数n的最小的质数。

思考:这个方法应该起什么名字,这个方法的形参是什么,方法的返回值类型是什么。

方法名为minPrime,意思是最小的质数,形参类型为int类型,返回值也是int类型。

(1)、首先思考现实生活中如何判断质数,再思考如何求出某个正整数n的最小的质数.

从n+1开始判断,直到符合条件的最小质数出现,就输出这个最小质数。

(2)、是否需要循环嵌套?如果需要,内循环的循环体是什么内容?

外循环的循环体又是什么内容?

内循环为判断是否为质数,外循环从n+1开始判断是否为质数,不是质数则加1。

(3)、首先在main主方法中编写:输入一个数,然后输出这个数是不是质数。

再分别写出n+1到无穷大的循环语句。

    Scanner input=new Scanner(System.in);
    System.out.print("请输入一个正整数:");
    int i=input.nextInt();
    for(int j=2;j<a;j++){
        if(a%j==0){ 
//          System.out.println(a+"不是质数");
            break;
        }

    }

判断是否为质数,除数只能从2开始自加。

int n=1;
int a=n+1;
for(a;a>1;a++){
}

(4)、先在main方法中完成方法体部分的设计。

public static void main(String[] args) {
    // 2、编写一个方法,输出大于某个正整数n的最小的质数。
    //思考:这个方法应该起什么名字,这个方法的形参是什么,方法的返回值类型是什么。
    boolean number=true;
    while(number){
        Scanner input=new Scanner(System.in);
        System.out.print("请输入一个正整数:");
        int i=input.nextInt();
        int a=i+1;
        if(a>=4){
            boolean num=false;
            for(;i>0;a++){
                for(int j=2;j<a;j++){
                    if(a%j==0){ 
//                      System.out.println(a+"不是质数");
                        break;
                    }else if(j==(a-1)){
                        if(i%j!=0){ 
                            System.out.println("比"+i+"大的最小质数是"+a);
                            num=true;
                        }
                    }       
                }
                if(num==true){
                    break;
                }
            }

        }else if(i==1){
            System.out.println("比"+i+"大的最小质数是2");
        }else if(i==2){
            System.out.println("比"+i+"大的最小质数是3");
        }else{
            System.out.println("请输入一个正确的正整数");
        }
    }
}

(5)、修改方法名为public static int minPrime() {},最终结构为:

public static void main(String[] args) {
    Scanner input=new Scanner(System.in);
    System.out.print("请输入一个正整数:");
    int i=input.nextInt();
    Work02Test.minPrime(i);
}
public static int minPrime(int i) {

    int a=i+1;
    if(a>=4){
        boolean num=false;
        for(;i>0;a++){
            for(int j=2;j<a;j++){
                if(a%j==0){ 
//                      System.out.println(a+"不是质数");
                    break;
                }else if(j==(a-1)){
                    if(i%j!=0){ 
                        System.out.println("比"+i+"大的最小质数是"+a);
                        num=true;
                    }
                }       
            }
            if(num==true){
                break;
            }
        }       
    }else if(i==1){
        System.out.println("比"+i+"大的最小质数是2");
    }else if(i==2){
        System.out.println("比"+i+"大的最小质数是3");
    }else{
        System.out.println("请输入一个正确的正整数");
    }
    return a;
}

3、画出以下程序运行过程的内存图

public class Test{
    public static void main(String[] args){
        int a = 100;
        int b = 200;
        int retValue = m1(a, b);
        System.out.println(retValue);
    }
    public static int m1(int x, int y){
        int k = x * 10;
        int m = y * 10;
        int result = m2(k, m);
        return result;
    }
    public static int m2(int c, int d){
        int e = c / 2;
        int f = d / 2;
        int i = e + f;
        return i;
    }
}

内存图

内存图

免费评分

参与人数 2吾爱币 +3 热心值 +2 收起 理由
izhongshi + 1 + 1 我很赞同!
ElliottNumb + 2 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ygiveupc 发表于 2021-12-8 18:52
<iframe width="250" height="90" frameborder="0" scrolling="no" hspace="0" src="https://i.tianqi.com/?c=code&a=getcode&id=7&py=chongqing&icon=1"></iframe>
好好学习
Adgerlee 发表于 2021-12-8 20:12
包子凡 发表于 2021-12-8 20:47
gllgcwh 发表于 2021-12-8 21:19
从简入难慢慢来,谢谢楼主分享。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 10:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表