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

目录
相关文章
|
5天前
|
Java
Java的方法详解
Java的方法是类中的重要组成部分,用于定义类的行为。方法可以接收参数、执行操作并返回结果。其基本语法包括返回类型、方法名、参数列表和方法体。方法支持重载,即同名但参数不同的多个方法;静态方法则直接通过类名调用,无需实例化。此外,Java还支持可变参数,允许方法接收不定数量的参数。通过访问修饰符如`public`、`protected`、`private`,可以控制方法的可见性。方法是实现类功能的基本单元,增强了程序的灵活性和复用性。
|
26天前
|
Java
Java系列之 重命名文件/图片,renameTo() 方法的使用
这篇文章介绍了Java中File类的renameTo()方法,包括其使用方式、参数、返回值以及一些使用时的注意事项,并通过示例代码演示了如何使用该方法来重命名文件。
Java系列之 重命名文件/图片,renameTo() 方法的使用
|
12天前
|
存储 Java 程序员
优化Java多线程应用:是创建Thread对象直接调用start()方法?还是用个变量调用?
这篇文章探讨了Java中两种创建和启动线程的方法,并分析了它们的区别。作者建议直接调用 `Thread` 对象的 `start()` 方法,而非保持强引用,以避免内存泄漏、简化线程生命周期管理,并减少不必要的线程控制。文章详细解释了这种方法在使用 `ThreadLocal` 时的优势,并提供了代码示例。作者洛小豆,文章来源于稀土掘金。
|
17天前
|
Java
用JAVA架建List集合为树形结构的代码方法
这段代码定义了一个表示树形结构的 `Node` 类和一个用于构建树形结构的 `TreeController`。`Node` 类包含基本属性如 `id`、`pid`、`name` 和 `type`,以及子节点列表 `children`。`TreeController` 包含初始化节点列表并将其转换为树形结构的方法。通过过滤和分组操作实现树形结构的构建。详情可见:[代码示例链接1](http://www.zidongmutanji.com/zsjx/43551.html),[代码效果参考链接2](https://www.257342.com/sitemap/post.html)。
27 5
|
19天前
|
安全 Java 开发者
【技术咖必看】Java异常处理新境界:throws关键字,打造万无一失的方法签名!
【技术咖必看】Java异常处理新境界:throws关键字,打造万无一失的方法签名!
30 3
|
19天前
|
安全 Java 程序员
【程序猿逆袭指南】Java高手的秘密武器:throws关键字,让你的方法签名霸气侧漏!
【程序猿逆袭指南】Java高手的秘密武器:throws关键字,让你的方法签名霸气侧漏!
14 3
|
20天前
|
Java Spring 容器
Java获取接口的所有实现类方法
这篇文章介绍了在Java中获取接口所有实现类的方法,包括使用JDK的ServiceLoader(SPI机制)和Spring Boot中的@Autowired自动注入及ApplicationContextAware接口两种方式。
42 1
|
21天前
|
监控 Java API
提升 Java 后台性能的十大方法
提升 Java 后台性能的十大方法
31 2
|
25天前
|
Java
|
25天前
|
安全 Java 测试技术
Java 中的阻塞方法
【8月更文挑战第22天】
21 4