zoukankan      html  css  js  c++  java
  • 课堂作业(方法)

    一、查看以下代码,你发现什么特殊之处,通过几种方法区分同名方法

     1 // MethodOverload.java
     2 // Using overloaded methods
     3 
     4 public class MethodOverload {
     5 
     6     public static void main(String[] args) {
     7         System.out.println("The square of integer 7 is " + square(7));
     8         System.out.println("
    The square of double 7.5 is " + square(7.5));
     9     }
    10 
    11     public static int square(int x) {
    12         return x * x;
    13     }
    14 
    15     public static double square(double y) {
    16         return y * y;
    17     }
    18 

    答: 上面的代码两个方法名相同,但能准确调用

      上述示例代码展示了Java的“方法重载(overload)”特性。
      满足以下条件的两个或多个方法构成“重载”关系:
        (1)方法名相同;
        (2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。(注意:方法的返回值不作为方法重载的判断条件。)

    二、编写一个方法,使用以下算法生成指定数目(比如1000个)的随机整数

     

    三、组合数(利用阶乘、杨辉三角、递归来实现)

      

     1 import java.io.*;
     2 public class CombinatorialNumber { 
     3 public static void main(String[] args) throws IOException{
     4      BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
     5      String num1 = reader.readLine();  String num2 = reader.readLine();   
     6      int n = Integer.parseInt(num1);int k = Integer.parseInt(num2);  
     7      if(n>=2&&k>1&&(n>=k))
     8     {      
     9             int sum1,sum2,sum3;      
    10             sum1 = nStratum(n,k);    
    11             System.out.println("The combinatorial number of (n,k)is " + sum1);      
    12             sum2 = triangleYH(n,k);
    13             System.out.println("The combinatorial number of (n+1,k)is " + sum2);
    14             sum3 = digui(n,k);
    15             System.out.println("The combinatorial number of (n,k)is " + sum3);   
    16     }   
    17     else if(n>=2&&k==1)   
    18     {
    19            System.out.println("The combinatorial number of (n,k)is " + n);  
    20     }  
    21    else if(n==1&&k==1)  
    22    {         
    23            System.out.println("The combinatorial number of (n,k)is 1.");   
    24    }  
    25    else
    26    {          
    27           System.out.println("Error!please input again!");  
    28    }
    29 }
    30    
    31 public static int nStratum(int n,int k)//阶乘
    32 {    
    33     int n_stratum=1,k_stratum=1,n_k_stratum=1,sum=1;
    34     int i;   
    35     for(i=1;i<=n;i++)            {       n_stratum=n_stratum*i;      }     
    36     for(i=1;i<=k;i++)            {       k_stratum=k_stratum*i;      }    
    37     for(i=1;i<=(n-k);i++)       {       n_k_stratum=n_k_stratum*i;      }  
    38     sum = n_stratum/(k_stratum*n_k_stratum);     
    39     return  sum;
    40  }  
    41  public static int digui(int n,int k)//递归 
    42 {  
    43      if(k==1)    return n;
    44      else   
    45     {    
    46                 int sum = (digui(n,k-1))*(n-1)/k;    
    47                 return sum;  
    48     }  
    49 }
    50  public static int triangleYH(int n,int k)//杨辉三角
    51 {  
    52        int sum,sum1,sum2;   
    53        sum1 = digui(n,k);
    54        sum2 = digui(n,k-1);
    55        sum = sum1+sum2;
    56       return sum;     
    57  }
    58 }

    四.运用递归判断某个字符串是否回文

    //判断字符串是否回文

    public class Palindrome {

        public static boolean isPalindrome(String s,int i,int j)  

       {   if(i>j)    throw new IllegalArgumentException();   

           if(i == j)    return true;   

           else{    return (s.charAt(i)==s.charAt(j))&& isPalindrome(s,i+1,j-1);   }

    }  

        public static void main(String[] args) {

          String test = "123";

         int i=0;   int j=test.length()-1;

         System.out.println(test + " is Palindrome?" + Palindrome.isPalindrome(test, i, j));

     }  

    }


              

  • 相关阅读:
    实验 1:Mininet 源码安装和可视化拓扑工具
    Linux bond 网卡主备模式配置
    git常用命令总结
    框架搭建之--配置去除用户输入两边的空格
    性能优化之--数据库缓存
    性能优化之缓存--文件缓存
    网站优化之缓存--页面缓存
    网站优化之缓存--session和cache以及常用缓存应用之间的区别
    MVC请求管道详细总结梳理。
    sql优化记录
  • 原文地址:https://www.cnblogs.com/ghs1065248758/p/5966186.html
Copyright © 2011-2022 走看看