手写随机代码

public class suiji
{
private static final int N = 200;
private static final int LEFT = 40;
private static final int RIGHT = 10000;
private static long x0 = 1L;
private long a = 1103515245L;
private long c = 12345L;
private long m = 2147483648L;
private long rand ( long r )
{
 r = ( r * a + c ) % m;//Xn+1=(aXn + c)mod m
 return r;
 }
private long little ( int a, int b, long rand )
{
 return a + rand % ( b - a + 1 );
}
private void recursion ( int count, long rand )
{
 if (count >= N)
{
  return;
}
 rand = rand (rand);
 long r = little (LEFT, RIGHT, rand);
 System.out.print (r + "\n");
 recursion (++count, rand);
}
public static void main ( String[] args )
{
 sgg recur = new sgg ();
 recur.recursion (0, x0);
}
}

2.请看以下代码,你发现了有什么特殊之处吗?

相同函数名,数据类型不同与调用的函数对应。

3.

计算组合数

import java.util.*;
public class sgg {
 public static void main(String[] args) {// TODO Auto-generated method stub
 Scanner in = new Scanner(System.in);
 System.out.print("please input :");
 int n = in.nextInt();
 System.out.print("please input:");
 int k = in.nextInt();
 
 int C = sgg(n)/(sgg(k)*sgg(n - k));
 System.out.println("result is :"+C);
 }
 
 public static int sgg(int n)
 {
  int s = 0;
  if(n < 0)
   System.out.println("error!");
  else if(n == 1||n == 0)
   s = 1;
 
  else
   s = n * sgg(n -1);
  return s;
  }
 }

import java.util.Scanner;
public class sgg {
 public static void main(String[] args) {// TODO Auto-generated method stub
  
  Scanner in = new Scanner(System.in);
  System.out.print("please input:");
  int n = in.nextInt();
  System.out.print("please input :");
  int k = in.nextInt();

int f = sgg(n,k);
  System.out.println(" reaselt is: "+f);
  }

public static int sgg(int n,int k)
 {
  int f = 0;
  if(n == 1||k == 0||n == k)
   f = 1;
  else
   f = sgg(n - 1,k - 1) + sgg(n - 1,k);
  return f;
  }
 }

import java.util.Scanner;
public class ditui {
 public static void main(String[] args) {// TODO Auto-generated method stub
  Scanner in = new Scanner(System.in);
  System.out.print("please input:");
  int n = in.nextInt();
  System.out.print("please input :");
  int k = in.nextInt();
  System.out.println("reasult is:"+sgg(n,k));
  in.close();
  }
 public static int sgg(int m,int n)
 {
  if(m<0||n<0||m<n)
   return 0;
  if(m==n)
   return 1;
  if(n==1)
   return m;
  return sgg(m-1,n)+sgg(m-1,n-1);
  }
 }

汉诺塔用JAVA实现

public class TowersOfHanoi
{
   // recursively move disks between towers
   public static void solveTowers( int disks, int sourcePeg, 
      int destinationPeg, int tempPeg )
   {
      // base case -- only one disk to move
      if ( disks == 1 )
      {
         System.out.printf( "\n%d --> %d", sourcePeg, destinationPeg );
         return;
      } // end if

// recursion step -- move (disk - 1) disks from sourcePeg
      // to tempPeg using destinationPeg
      solveTowers( disks - 1, sourcePeg, tempPeg, destinationPeg );

// move last disk from sourcePeg to destinationPeg
      System.out.printf( "\n%d --> %d", sourcePeg, destinationPeg );

// move ( disks - 1 ) disks from tempPeg to destinationPeg
      solveTowers( disks - 1, tempPeg, destinationPeg, sourcePeg );
   } // end method solveTowers

public static void main( String[] args )
   {
      int startPeg = 1; // value 1 used to indicate startPeg in output
      int endPeg = 3; // value 3 used to indicate endPeg in output
      int tempPeg = 2; // value 2 used to indicate tempPeg in output
      int totalDisks = 3; // number of disks
      
      // initial nonrecursive call: move all disks.
      solveTowers( totalDisks, startPeg, endPeg, tempPeg );
   } // end main
} // end class TowersOfHanoi

输出结果:

判断字符串是否为回文数

import java.util.*;
public class sgg {
public static void main(String[] args) {
// TODO Auto-generated method stub
 String str="";
 System.out.println("请输入一个字符串:");
 Scanner in=new Scanner(System.in);
 str=in.nextLine();
 StringBuffer sb=new StringBuffer(str);
 sb.reverse();
 int n=0;
 for(int i=0;i<str.length();i++){
  if(str.charAt(i)==sb.charAt(i))
   n++;
  }
 
 if(n==str.length())
  System.out.println(str+"是回文!");
 else
  System.out.println(str+"不是回文!");
 }
}

java 方法学习的更多相关文章

  1. java方法学习

    java方法学习 方法概念 什么是方法 方法就是完成某些事情的过程,如:实现两个数相加,用方法add(数值1,数值2). 1.System.out.print(),System是系统的一个类,out是 ...

  2. Java方法学习疑问

    此方法不理解 finalize() 方法 Java允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做finalize( ),它用来清除回收对象. 例如,你可以使用finaliz ...

  3. java方法学习记录

    ---恢复内容开始--- 方法重载:两个方法有相同的名字,但参数不同,就是方法重载,且不能仅仅依据修饰符或者返回类型的不同来重载方法. 命令行参数的使用 有时候你希望运行一个程序时候再传递给它消息.这 ...

  4. [原创]java WEB学习笔记105:Spring学习---AOP介绍,相关概念,使用AOP,利用 方法签名 编写 AspectJ 切入点表达式

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  5. 《深入Java虚拟机学习笔记》- 第19章 方法的调用与返回

    <深入Java虚拟机学习笔记>- 第19章 方法的调用与返回

  6. Java 学习(8):java 方法

    Java方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 命名规则: 1. 必须以 字母.'_'或'$'开头. ...

  7. 我的Java开发学习之旅------>Java语言中方法的参数传递机制

    实参:如果声明方法时包含来了形参声明,则调用方法时必须给这些形参指定参数值,调用方法时传给形参的参数值也被称为实参. Java的实参值是如何传入方法?这是由Java方法的参数传递机制来控制的,Java ...

  8. Java的学习之路

    记事本 EditPlus eclipse Java的学习软件,已经系统性学习Java有一段时间了,接下来我想讲一下我在Java学习用到的软件. 1.第一个软件:记事本 记事本是Java学习中最基础的编 ...

  9. Java多线程学习笔记

    进程:正在执行中的程序,其实是应用程序在内存中运行的那片空间.(只负责空间分配) 线程:进程中的一个执行单元,负责进程汇总的程序的运行,一个进程当中至少要有一个线程. 多线程:一个进程中时可以有多个线 ...

随机推荐

  1. MVC实现省级联动

    前言 省级联动的效果,网上现成的都有很多,各种JS实现,Jquery实现等等,今天我们要讲的是在MVC里面,如何更方便.更轻量的实现省级联动呢? 实现效果如下: 具体实现 如图所示,在HTML页非常简 ...

  2. C语言之if和switch的分别

    If和switch的互换规则 用if语句能实现的东西,用switch也可以实现 用switch语句能实现的东西,用if也可以实现 1.如果是判断范围的时候,用switch不太好做,没法直接做 2.如果 ...

  3. [Angular Directive] Assign a Structual Directive a Dynamic Context in Angular 2

     Just like passing in an array to *ngFor, you can pass in any value into your structural directive s ...

  4. 讲解——Trie树(字典树)

          Trie树(字典树) 一.引入 字典是干啥的?查找字的. 字典树自然也是起查找作用的.查找的是啥?单词. 看以下几个题: 1.给出n个单词和m个询问,每次询问一个单词,回答这个单词是否在单 ...

  5. php学习笔记——语言切换

    现在的网站很多都可以实现多语言,于是记录一下多语言的实例. 方法一:通过将所有显示在页面的字段放在一个message文件里面来实现 思路如下图: test代码: main.php: <?php ...

  6. canvas实现画板功能(渐变、动画、阴影...)

    刚刚在博客园落户了,希望能在这认识更多大神,希望能和大家交好朋友. 闲来无事,把以前用canvas写的画板代码改进了一番,用Html5提供的表单标签给其 加了一个选择颜色的功能,因此发现了该标签的一个 ...

  7. iOS中的布局

    1.UIView 有三个比较重要的布局属性: frame , bounds 和 center , CALayer 对应地叫做 frame , bounds 和 position .为了能清楚区分,图层 ...

  8. DevExpress的SpinEdit控件无法输入数字的问题

    今天在发布程序后突然发现了这个问题,刚开始很莫名其妙的,因为在调试时从来没碰到过.然后经过测试发现,这个问题的原因和输入法有很大关系: 当你的输入法是中文状态时,是无法向框中输入数字的,此时只能点击上 ...

  9. Attribute的理解和认识

    1什么是Attribute? 在网上看到这样一段定义 MADN的定义为:公共语言运行时允许添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法和属性等.A ...

  10. 【AndroidStudio】关于SVN的相关配置简介

    AndroidStudio 的SVN 安装和使用方法与我以前用的其他IDE 都有很大差别,感觉特麻烦,网上相关资料很少,貌似现在 Git 比较流行,之前有用过 github 但是他只能是开源项目免费, ...