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;
    }
}

目录
相关文章
|
2月前
|
消息中间件 Java Kafka
在Java中实现分布式事务的常用框架和方法
总之,选择合适的分布式事务框架和方法需要综合考虑业务需求、性能、复杂度等因素。不同的框架和方法都有其特点和适用场景,需要根据具体情况进行评估和选择。同时,随着技术的不断发展,分布式事务的解决方案也在不断更新和完善,以更好地满足业务的需求。你还可以进一步深入研究和了解这些框架和方法,以便在实际应用中更好地实现分布式事务管理。
|
2月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
101 9
|
3天前
|
存储 Java 索引
Java快速入门之数组、方法
### Java快速入门之数组与方法简介 #### 一、数组 数组是一种容器,用于存储同种数据类型的多个值。定义数组时需指定数据类型,如`int[]`只能存储整数。数组的初始化分为静态和动态两种: - **静态初始化**:直接指定元素,系统自动计算长度,如`int[] arr = {1, 2, 3};` - **动态初始化**:手动指定长度,系统给定默认值,如`int[] arr = new int[3];` 数组访问通过索引完成,索引从0开始,最大索引为`数组.length - 1`。遍历数组常用`for`循环。常见操作包括求和、找最值、统计特定条件元素等。
|
1天前
|
算法 Java API
Java 方法注释:规范、实用和高质量的写法
本文深入探讨了如何编写高质量的 Java 方法注释
21 11
|
1天前
|
SQL Java 数据库连接
【潜意识Java】Java中JDBC过时方法的替代方案以及JDBC为什么过时详细分析
本文介绍了JDBC中一些常见过时方法及其替代方案。
20 5
|
2月前
|
安全 Java 开发者
Java中WAIT和NOTIFY方法必须在同步块中调用的原因
在Java多线程编程中,`wait()`和`notify()`方法是实现线程间协作的关键。这两个方法必须在同步块或同步方法中调用,这一要求背后有着深刻的原因。本文将深入探讨为什么`wait()`和`notify()`方法必须在同步块中调用,以及这一机制如何确保线程安全和避免死锁。
60 4
|
2月前
|
Java
深入探讨Java中的中断机制:INTERRUPTED和ISINTERRUPTED方法详解
在Java多线程编程中,中断机制是协调线程行为的重要手段。了解和正确使用中断机制对于编写高效、可靠的并发程序至关重要。本文将深入探讨Java中的`Thread.interrupted()`和`Thread.isInterrupted()`方法的区别及其应用场景。
84 4
|
2月前
|
Java 数据处理 数据安全/隐私保护
Java处理数据接口方法
Java处理数据接口方法
32 1
|
3月前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
73 17
|
2月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
149 4