楼主: kseng010420
533 0

[作业] Java自学记录Day21 [推广有奖]

  • 0关注
  • 0粉丝

学前班

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2670 点
帖子
2
精华
0
在线时间
0 小时
注册时间
2021-12-8
最后登录
2022-3-14

楼主
kseng010420 发表于 2021-12-8 20:55:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

Java学习记录Day21

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

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

  1. import java.util.Scanner;

  2.     public class Work01 {

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

  6.     }
  7.     public static int printFactorial(){
  8.         Scanner input=new Scanner(System.in);
  9.         System.out.print("请输入一个数字:");
  10.         int n=input.nextInt();
  11.         int fact=1;
  12.         for(int i=1;i<=n;i++){
  13.             fact*=i;
  14.         }
  15.         return fact;
  16.     }

  17. }
复制代码

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

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

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

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

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

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

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

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

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

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

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

  9.     }
复制代码

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

  1. int n=1;
  2. int a=n+1;
  3. for(a;a>1;a++){
  4. }
复制代码

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

  1. public static void main(String[] args) {
  2.     // 2、编写一个方法,输出大于某个正整数n的最小的质数。
  3.     //思考:这个方法应该起什么名字,这个方法的形参是什么,方法的返回值类型是什么。
  4.     boolean number=true;
  5.     while(number){
  6.         Scanner input=new Scanner(System.in);
  7.         System.out.print("请输入一个正整数:");
  8.         int i=input.nextInt();
  9.         int a=i+1;
  10.         if(a>=4){
  11.             boolean num=false;
  12.             for(;i>0;a++){
  13.                 for(int j=2;j<a;j++){
  14.                     if(a%j==0){
  15. //                      System.out.println(a+"不是质数");
  16.                         break;
  17.                     }else if(j==(a-1)){
  18.                         if(i%j!=0){
  19.                             System.out.println("比"+i+"大的最小质数是"+a);
  20.                             num=true;
  21.                         }
  22.                     }      
  23.                 }
  24.                 if(num==true){
  25.                     break;
  26.                 }
  27.             }

  28.         }else if(i==1){
  29.             System.out.println("比"+i+"大的最小质数是2");
  30.         }else if(i==2){
  31.             System.out.println("比"+i+"大的最小质数是3");
  32.         }else{
  33.             System.out.println("请输入一个正确的正整数");
  34.         }
  35.     }
  36. }
复制代码

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

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

  8.     int a=i+1;
  9.     if(a>=4){
  10.         boolean num=false;
  11.         for(;i>0;a++){
  12.             for(int j=2;j<a;j++){
  13.                 if(a%j==0){
  14. //                      System.out.println(a+"不是质数");
  15.                     break;
  16.                 }else if(j==(a-1)){
  17.                     if(i%j!=0){
  18.                         System.out.println("比"+i+"大的最小质数是"+a);
  19.                         num=true;
  20.                     }
  21.                 }      
  22.             }
  23.             if(num==true){
  24.                 break;
  25.             }
  26.         }      
  27.     }else if(i==1){
  28.         System.out.println("比"+i+"大的最小质数是2");
  29.     }else if(i==2){
  30.         System.out.println("比"+i+"大的最小质数是3");
  31.     }else{
  32.         System.out.println("请输入一个正确的正整数");
  33.     }
  34.     return a;
  35. }
复制代码

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

  1. public class Test{
  2.     public static void main(String[] args){
  3.         int a = 100;
  4.         int b = 200;
  5.         int retValue = m1(a, b);
  6.         System.out.println(retValue);
  7.     }
  8.     public static int m1(int x, int y){
  9.         int k = x * 10;
  10.         int m = y * 10;
  11.         int result = m2(k, m);
  12.         return result;
  13.     }
  14.     public static int m2(int c, int d){
  15.         int e = c / 2;
  16.         int f = d / 2;
  17.         int i = e + f;
  18.         return i;
  19.     }
  20. }
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Java Day jav Factorial scanner

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-1-30 07:06