# 方法定义及调用 练习

方法定义及调用 练习

标签 :Java入坑之旅


0x00. 题目

  1. 编写一个方法,求整数n的阶乘,例如5的阶乘是12345。 [必做题]
  2. 编写一个方法,判断该年份是平年还是闰年。[必做题]
  3. 编写一个方法,输出大于200的最小的质数。[选做题]
  4. 编写一个方法,功能:定义一个一维的int 数组,长度任意,然后将它们按从小到大的顺序输出(使用冒泡排序)(知识点:方法的定义和访问)。[选做题]

0x01. 题目01

  1. 编写一个方法,求整数n的阶乘,例如5的阶乘是12345。 [必做题]
// FunctionFactorial.java
package com.ryanjie.test;

import java.util.Scanner;

/**
 * @ClassName:FunctionFactorial
 * @Description: 编写一个方法,求整数n的阶乘,例如5的阶乘是1*2*3*4*5。
 * @author: Ryanjie
 * @date:2018年8月10日 下午4:18:22
 *
 * @Copyright: 2018 Ryanjie Inc. All rights reserved.
 */
public class FunctionFactorial {

    /**
     * @Title: factorial
     * @Description: 求整数n的阶乘
     *
     * @param num
     * @return: void
     * @throws
     */
    public static void factorial(int num) {
        long sum = 1;
        for (int i = 1; i <= num; i++) {
            sum *= i;
        }

        System.out.println(num + " 的阶乘为: " + sum);
    }

    public static void main(String[] args) {
        System.out.println("Please input a number<int> :");
        Scanner in = new Scanner(System.in);
        int number = in.nextInt();
        factorial(number);
        in.close();
    }

}

0x02. 题目02

  1. 编写一个方法,判断该年份是平年还是闰年。[必做题]
//FunctionLeapYear.java
package com.ryanjie.test;

import java.util.Scanner;

/**
 * @ClassName:FunctionLeapYear
 * @Description:编写一个方法,判断该年份是平年还是闰年。
 * @author: Ryanjie
 * @date:2018年8月10日 下午4:41:28
 *
 * @Copyright: 2018 Ryanjie Inc. All rights reserved.
 */
public class FunctionLeapYear {

    /**
     * @Title: leapYear
     * @Description: 判断该年份是平年还是闰年。
     *
     * @param year
     * @return: void
     * @throws
     */
    public static void isLeapYear(long year) {
        boolean flag = false;
        if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
            flag = true;
        }

        if(flag) {
            System.out.println(year + " 是闰年!");
        }
        else {
            System.out.println(year + " 是平年!");
        }
    }

    public static void main(String[] args) {
        System.out.println("Please input a year<int>: ");
        Scanner in = new Scanner(System.in);
        long year = in.nextLong();
        isLeapYear(year);
        in.close();
    }

}

0x03. 题目03

  1. 编写一个方法,输出大于200的最小的质数。[选做题]
//FunctionPrimeNumber.java
package com.ryanjie.test;

import java.util.Scanner;

/**
 * @ClassName:FunctionPrimeNumber
 * @Description: 编写一个方法,输出大于200的最小的质数。
 * @author: Ryanjie
 * @date:2018年8月10日 下午4:51:24
 *
 * @Copyright: 2018 Ryanjie Inc. All rights reserved.
 */
public class FunctionPrimeNumber {

    /**
     * @Title: isPrime
     * @Description: 判断这个数是否为质数
     *
     * @param num
     * @return
     * @return: boolean
     * @throws
     */
    public static boolean isPrime(int num) {

        if(num > 2 && (num & 1) ==0) {
            return false;
        }

        for(int i = 3; i * i <= num; i += 2) {
            if(num % i ==0 ) {
                return false;
            }
        }
        return true;
    }

    /**
     * @Title: findNumber
     * @Description: 输出大于200的最小的质数
     *
     * @param number
     * @return: void
     * @throws
     */
    public static void findNumber(int number) {
        System.out.print("大于 " + number + " 的最小的质数为:");
        while (!isPrime(number)) {
            number ++;
        }
        System.out.println(number);
    } 

    public static void main(String[] args) {
        System.out.println("Please input a number<long>:");
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        findNumber(num);
        in.close();
    }

}

0x04. 题目04

  1. 编写一个方法,功能:定义一个一维的int 数组,长度任意,然后将它们按从小到大的顺序输出(使用冒泡排序)(知识点:方法的定义和访问)。[选做题]
//FunctionBubbleSort.java
package com.ryanjie.test;

import java.util.Random;

/**
 * @ClassName:FunctionBubbleSort
 * @Description:定义一个一维的int 数组,长度任意,然后将它们按从小到大的顺序输出(使用冒泡排序)
 * @author: Ryanjie
 * @date:2018年8月10日 下午7:16:50
 *
 * @Copyright: 2018 Ryanjie Inc. All rights reserved.
 */
public class FunctionBubbleSort {

    /**
     * @Title: printAll
     * @Description: 打印整个数组
     *
     * @param arr
     * @return: void
     * @throws
     */
    public void printAll(long[] arr) {
        int flag = 0;
        for(long value : arr) {
            System.out.print(value + "\t");
            if ((++ flag) % 5 == 0) {
                System.out.println();
            }
        }
    }

    /**
     * @Title: bubbleSort
     * @Description: 自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,
     *              较小的往上冒
     *
     * @return: void
     * @throws
     */
    public void bubbleSort(long[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - i - 1; j++) {
                if (arr[j] > arr[j + 1]) {
                    long temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1]= temp;
                }
            }
        }
        System.out.println("冒泡排序算法排序后的数组为:");
        this.printAll(arr);
    }

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        FunctionBubbleSort FB = new FunctionBubbleSort();
        long[] arr = new long[100];
        Random r = new Random();
        for(int i = 0; i < 100; i++) {
            arr[i] = r.nextInt();
        }
        System.out.println("排序前的数组为:");
        FB.printAll(arr);
        FB.bubbleSort(arr);
    }

}

原文地址:https://www.cnblogs.com/Ryanjie/p/9457114.html

时间: 2024-10-28 22:51:24

# 方法定义及调用 练习的相关文章

java 第五章 方法定义及调用

1.方法的定义 什么是方法 方法是完成某个功能的一组语句,通常将常用的功能写成一个方法 方法的定义 [访问控制符] [修饰符] 返回值类型 方法名( (参数类型 形式参数, ,参数类型 形式参数, ,-) ) { 方法体 } 修饰符:public .static 被称为修饰符(后续会详细讲解它们): 返回值类型:用来说明该方法运算结果的类型.如果返回其他类型,编译就可能出错: 方法名:它作为调用时引用方法的标识: 参数列表:方法的参数个数可以是0个到多个,每个参数前面要声明参数的数据类型:每个参

2.Java基础:方法定义和调用

一.方法的定义 1.类的方法代表的是实力的某种行为(或功能) 方法的定义:方法类型 . 方法签名 . 方法体 2.定义类的方法 访问修饰符 类型 方法名(参数列表){ ///方法体 } 3.把方法当作一个模块,是个"黑匣子",完成某个特定的功能,并返回处理解结果 4.方法分类: (1)返回值为空的void的方法: (2)带具体的返回类型的方法: (3)不带参数的方法: (4)带参数的方法 5.方法返回值 (1)如果方法有返回值,方法中必须使用关键字 return 返回该值,返回的值类型

第七天带返回的方法定义与调用

public class ReturnMethod01 { public static void main(String[] args) { //常规调用 int a = getMax(5,6); System.out.println(a); //输出调用 System.out.println(getMax(5,6)); } /*需求:给定两个数值,比较他们之间的较大值 public static 数据类型 方法名(参数){} */ //定义一个方法,用于取两个数中的较大值 public sta

C#方法定义和调用-2

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Qian { private decimal yuanlai; private string name; public Qian(string name) { this.yuanlai = 0; this.name = name; Print("我的钱

普通(实例)方法和实例方法的定义和调用

/** *普通方法和实例方法的定义和调用 */ class ClassName {     public $num = 1;        //实例属性     static $num2 = 2;        //静态属性     //实例方法     function showInfo()     {         echo "实例方法被调用!<br />";         echo "num的值{$this->num}<br>"

方法的定义与调用以及static关键字的用法

一.方法的定义与使用(形参只有值传递)以下所有方法在主类中定义,并且在主方法中直接调用. 1.方法声明: 语法: [访问修饰符]  [static] 返回值类型  方法名(参数列表){ 要执行的代码 } //自定义方法 public static void print(){ System.out.println("hello"); } 当方法以void声明时,表示此方法无返回值.但是void方法仍然可以与return返回值配合使用;表示结束方法调用.java方法只有值传递 packag

方法的定义与调用

方法的定义: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,...){         方法体         return 返回值; } 修饰符: 固定写public static 返回值类型: 方法需要返回的数据的数据类型,如果返回没有返回值,那么返回值类型就是void 方法名: 自己取的名称 符合标识符命名规则和规范 方法中的参数:  用来接收传入方法中的数据 参数类型: 传入方法中的数据的数据类型 参数名:  自己取的名称 符合标识符命名规则和规范 方法体: 方法需

C#方法的定义、调用与调试

本节内容 1.方法的由来: 2.方法的定义与调用: 3.构造器(一种特殊的方法): 4.方法的重载(Override): 5.如何对方法进行debug: 6.方法的调用与栈* *推荐书目:CLR via C#和C# in Depth, 3rd Edition 1.方法的由来 ①方法(method)的前身是C/C++语言的函数(function) 方法是面向对象范畴的概念,在非面向对象语言中仍然称为函数. 可以使用C/C++语言做对比. *当函数以成员的身份出现时我们就叫它方法(始于C++) ②永

Bash脚本之函数定义和调用

把那些在脚本中重复出现并且没有任何改变的代码,封装起来,在适当的场景中调用执行.程序员将这种被封装起来的代码称为功能体,或者叫模块,也称为函数.这样看来是不是和循环类似,循环也是为了方便去多次执行一堆代码,而函数是将一堆代码写在一起,起一个名字,然后在需要这堆代码的时候只需要写上函数的名字即可.在shell脚本编程中,函数是由若干条shell命令组成的语句块,函数里面的内容和shell程序形式上是一致的.不同之处就是,shell代码可以直接被执行,而函数中的内容,不能独立执行,只有被调用的时候才