Java 方法10道练习题

简介: Java 方法10道练习题

2023.01.04,10道练习题,关于方法的定义、方法调用与实现

整理完才发现已经到了1月5号了,一不小心又熬到第二天了

狗命要紧,先碎觉辽*^*

Java方法的详细学习笔记明天更新(包含方法的定义、方法调用与实现、方法重载、方法递归)

1 编写一个方法,接收两个整数作为参数,返回这两个整数的和。

package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
    public static void main(String[] args) {
        System.out.println("请输入两个整数");
        //java.util.Scanner input=new java.util.Scanner(System.in);
        Scanner input = new Scanner(System.in);
        int a = input.nextInt();
        int b = input.nextInt();
        int sum=add(a,b);
        System.out.println("两个整数的和为:"+sum);
    }
    public static int add(int a,int b){
        return (a+b);
    }
}

package JavaseDemo;
public class Demo010401 {
    public static void main(String[] args) {
        System.out.println("请输入两个整数");
        java.util.Scanner input=new java.util.Scanner(System.in);
        int a = input.nextInt();
        int b = input.nextInt();
        System.out.println("两个数的和是"+add(a,b));
    }
    public static int add(int a,int b){
        return a+b;
    }
}

2 编写一个方法,接收一个整数,输出这个整数的所有因子。

package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
    public static void main(String[] args) {
        System.out.println("请输入一个整数");
        Scanner input = new Scanner(System.in);
        int num = input.nextInt();
        yz(num);
    }
    public static void yz(int n){
        for (int i = 1; i <=n; i++) {
            if (n%i==0){
                System.out.print(i+"\t");
            }
        }
    }
}

3 编写一个方法,接收一个整数n,输出1+2+3+…+n 的和。

package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int n = input.nextInt();
        System.out.println(("和为"+add(n));
    }
    public static int add(int m){   //add(n)赋值给add(int m)
        int sum = 0;
        for (int i = 1; i <=m ; i++) {
            sum+=i;
        }
       return sum;
    }
}

4 编写一个方法,接收一个整数参数n,输出n 个HelloWorld。

package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
    public static void main(String[] args) {
        System.out.println("请输入一个整数");
        Scanner input = new Scanner(System.in);
        int n= input.nextInt();
        result(n);
    }
    public static void result(int m){
        for (int i = 1; i <= m ; i++) {
            System.out.println("HelloWorld");
        }
    }
}

5 编写一个方法,接收一个整数,输出这个整数是几位数。

package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
    public static void main(String[] args) {
        System.out.println("请输入一个整数");
        Scanner input = new Scanner(System.in);
        int n= input.nextInt();
        System.out.println("这个数是"+result(n)+"位数");  //m:n
    }
    public static  int result(int m){
        int count = 0;
        while (m!=0){
            m=m/10;
            count++;
        }
        return count;
    }
}

6 验证哥德巴赫猜想:

任何一个大于6的偶数,都能分解成两个质数的和。要求输入一个整数,输出这个数能被分解成哪两个质数的和。

eg : 14

14=3+11

14=7+7

方法1:

package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
    public static void main(String[] args) {
        System.out.println("请输入一个整数");
        Scanner input = new Scanner(System.in);
        int n= input.nextInt();
        for(int i = 1;i <= n/2;i++){
            int j = n - i;
            if(isZhiShu(i) && isZhiShu(j)){
                System.out.println(n+"="+i+"+"+j);
            }
        }
    }

    public static  boolean isZhiShu(int m){
        boolean flag = true;
        for (int i = 2; i < m; i++) {
            if(m%i==0) {
                return false;
            }
        }
        return flag;
        }
}

方法2:

import java.util.Scanner; 
// 验证哥德巴赫猜想::任何一个大于6的偶数,都能分解成两个质数的和
public class Demo010401 {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入一个整数:");
    int n = scanner.nextInt();    
    for(int i = 1;i <= n/2;i++){
      int j = n - i;
      if(isZhiShu2(i) && isZhiShu2(j)){
        System.out.println(n+"="+i+"+"+j);
      }
    }   
  }
  
  
  // 判断一个数是否为质数,这个用到了Java Math.sqrt()方法
  public static boolean isZhiShu2(int n) {
    boolean falg = true;// 初始化falg为true 
    if (n < 3) {// 2,3为最小的质数
      falg = n > 1;
    }
    for (int i = 2; i <= Math.sqrt(n); i++) {//Math.sqrt(n) 为n的开方,如16的开方为4
      if (n % i == 0) {
        falg = false;
      }
    }
    return falg;
  } 
}

7 课堂练习

7.1 输入一个数字使用方法计算1-这个数字的和,并返回结果。

package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int n= input.nextInt();
        System.out.println("结果是:"+sum(n));
    }

    public static  int sum(int m) {
        int sum = 0;
        for (int i = 0; i <=m ; i++) {
            sum+=i;
        }
        return sum;
    }
}

7.2 使用方法输出100~200之间能被3整除的数。

package JavaseDemo;

public class Demo010401 {
    public static void main(String[] args) {
        allNum();
    }

    public static  void allNum(){
        for (int i = 100; i <=200; i++) {
            if (i%3==0){
                System.out.println(i);
            }
        }
    }
}

7.3 使用方法判断一个数是否为素数。

package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数");
        int n = input.nextInt();
        isPrime(n);
    }

    //使用方法判断这个数是否为素数
    public static  void isPrime(int m){
        boolean flag=true;
        for(int i=2;i<m;i++) {
            if (m % i == 0) {
                flag = false;
                break;
            }

        }
        if (flag){
            System.out.println(m+"是素数");
        }else
            System.out.println(m+"不是素数");
    }
}

7.4 使用方法求1-100之间可以被7整除的数的个数。

package JavaseDemo;

public class Demo010401 {
    public static void main(String[] args) {
        System.out.println(getCount());
    }
    public static  int getCount(){
        int count = 0;
        for (int i = 1; i <=100 ; i++) {
            if (i%7==0){
                count++;
            }
        }
        return count;
    }
}

目录
相关文章
|
9天前
|
算法 Java Linux
java制作海报二:java使用Graphics2D 在图片上合成另一个照片,并将照片切割成头像,头像切割成圆形方法详解
这篇文章介绍了如何使用Java的Graphics2D类在图片上合成另一个照片,并将照片切割成圆形头像的方法。
21 1
java制作海报二:java使用Graphics2D 在图片上合成另一个照片,并将照片切割成头像,头像切割成圆形方法详解
|
3天前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
11 1
|
7天前
|
Java 编译器
Java“返回类型为 void 的方法不能返回一个值”解决
在 Java 中,如果一个方法的返回类型被声明为 void,那么该方法不应该包含返回值的语句。如果尝试从这样的方法中返回一个值,编译器将报错。解决办法是移除返回值语句或更改方法的返回类型。
|
1月前
|
Java
Java——方法的引用
方法引用允许将已有方法作为函数式接口的实现。使用“::”符号,需具备函数式接口,被引用的方法须存在且参数和返回值需与抽象方法一致。其分类包括:静态方法引用(类::方法名)、成员方法引用(对象::方法名、this::方法名、super::方法名)和构造方法引用(类名::new)。方法引用提高了代码的简洁性和可读性,减少了样板代码。
36 13
Java——方法的引用
|
8天前
|
Java
让星星⭐月亮告诉你,Java NIO之Buffer详解 属性capacity/position/limit/mark 方法put(X)/get()/flip()/compact()/clear()
这段代码演示了Java NIO中`ByteBuffer`的基本操作,包括分配、写入、翻转、读取、压缩和清空缓冲区。通过示例展示了`position`、`limit`和`mark`属性的变化过程,帮助理解缓冲区的工作原理。
17 2
|
8天前
|
Java
让星星⭐月亮告诉你,jdk1.8 Java函数式编程示例:Lambda函数/方法引用/4种内建函数式接口(功能性-/消费型/供给型/断言型)
本示例展示了Java中函数式接口的使用,包括自定义和内置的函数式接口。通过方法引用,实现对字符串操作如转换大写、数值转换等,并演示了Function、Consumer、Supplier及Predicate四种主要内置函数式接口的应用。
14 1
|
8天前
|
Java
让星星⭐月亮告诉你,Java synchronized(*.class) synchronized 方法 synchronized(this)分析
本文通过Java代码示例,介绍了`synchronized`关键字在类和实例方法上的使用。总结了三种情况:1) 类级别的锁,多个实例对象在同一时刻只能有一个获取锁;2) 实例方法级别的锁,多个实例对象可以同时执行;3) 同一实例对象的多个线程,同一时刻只能有一个线程执行同步方法。
8 1
|
12天前
|
Java 编译器
在Java中,关于final、static关键字与方法的重写和继承【易错点】
在Java中,关于final、static关键字与方法的重写和继承【易错点】
19 5
|
1月前
|
Java
java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用
本文介绍了Java中抽象类和抽象方法的使用,以及ArrayList的基本操作,包括添加、获取、删除元素和判断列表是否为空。
21 2
java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用
|
9天前
|
存储 算法 Java
java制作海报六:Graphics2D的RenderingHints方法参数详解,包括解决文字不清晰,抗锯齿问题
这篇文章是关于如何在Java中使用Graphics2D的RenderingHints方法来提高海报制作的图像质量和文字清晰度,包括抗锯齿和解决文字不清晰问题的技术详解。
16 0
java制作海报六:Graphics2D的RenderingHints方法参数详解,包括解决文字不清晰,抗锯齿问题