java-03方法课堂练习
1.java中利用static(静态),将方法放入类中。如果不加static,必须先实例化出来一个类,之后再通过实例化类名+方法的形式调用。
2.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数。
3.请看以下代码,你发现了有什么特殊之处吗?
// MethodOverload.java
// Using overloaded methods public class MethodOverload { public static void main(String[] args) {
System.out.println("The square of integer 7 is " + square(7));
System.out.println("\nThe square of double 7.5 is " + square(7.5));
} public static int square(int x) {
return x * x;
} public static double square(double y) {
return y * y;
}
}
结果:
分析:这段代码体现了java中的方法重载,方法名相同但参数类型不同。在输入int类型时自动调用int类型的方法,在输入double类型时自动调用double类型的方法。
4.练习:查看一下JDK中System.out.println()方法,你发现了什么?
System是jdk自带的一个类,有很多的静态方法,也就是static的,有一个类变量out是PrintStream类型的,PrintStream有print和println方法。
5.使用计算机计算组合数
import java.util.Scanner;
public class ZuheShu {
public static void main(String[]args){
System.out.println("请输入组合数的n和k:");
Scanner in1=new Scanner(System.in);
int n=in1.nextInt();
Scanner in2=new Scanner(System.in);
int k=in2.nextInt();
int result=jiechen(n)/(jiechen(k)*jiechen(n-k));
System.out.println("结果为:"+result);
in1.close();
in2.close();
}
public static int jiechen(int n)
{
int jieguo=1;
if(n<0)
{
System.out.println("error!");
}
else if(n==0||n==1)
{
jieguo=1;
}
else
{
jieguo=jiechen(n-1)*n;
}
return jieguo; } }
结果:
(2)使用递推的方法用杨辉三角形计算
import java.util.Scanner;
public class YangHui {
    public static void main(String[]args){
        System.out.println("请输入组合数的n和k:");
        Scanner in1=new Scanner(System.in);
        int n=in1.nextInt();
        Scanner in2=new Scanner(System.in);
        int k=in2.nextInt();
        System.out.println("结果为:"+result(n,k));
        in1.close();
        in2.close();
    }
    public static int result(int n,int m)
    {
        if(m==0||n==m)
            return 1;
        int s=Math.min(m, n-m);
        int f=1,f1=0;
        for(int i=1;i<=s;i++)
        {
            f1=f*(n-i+1)/(i);
            f=f1;
        }
        return f1;
        }
    }
结果:
(3)使用递归的方法用组合数递推公式计算
import java.util.Scanner;
public class DiGui {
    public static void main(String[]args){
        System.out.println("请输入组合数的n和k:");
        Scanner in1=new Scanner(System.in);
        int n=in1.nextInt();
        Scanner in2=new Scanner(System.in);
        int k=in2.nextInt();
        System.out.println("组合数结果为:"+result(n,k));
        in1.close();
        in2.close();
    }
    public static int result(int m,int n)
    {
        if(m<0||n<0||m<n)
            return 0;
        if(m==n)
            return 1;
        if(n==1)
            return m;
        return result(m-1,n)+result(m-1,n-1);
    }
}
结果:
6.汉诺塔
public class TowerOFHanoi
{
public static void solveTowers( int disks, int sourcePeg,
int destinationPeg, int tempPeg )
{
if ( disks == 1 )
{
System.out.printf( "\n%d --> %d", sourcePeg, destinationPeg );
return;
}
solveTowers( disks - 1, sourcePeg, tempPeg, destinationPeg );
System.out.printf( "\n%d --> %d", sourcePeg, destinationPeg );
solveTowers( disks - 1, tempPeg, destinationPeg, sourcePeg );
}
public static void main( String[] args )
{
int startPeg = 1;
int endPeg = 3;
int tempPeg = 2;
int totalDisks = 3;
solveTowers( totalDisks, startPeg, endPeg, tempPeg );
}
}
结果:
7.回文数
import java.util.*;
public class HuiWen {
public static void main(String[]args){
String str="";
System.out.println("请输入一个字符串:");
Scanner in=new Scanner(System.in);
str=in.nextLine();
StringBuffer hw=new StringBuffer(str);
hw.reverse();
int n=0;
for(int i=0;i<str.length();i++){
if(str.charAt(i)==hw.charAt(i))
n++;
}
if(n==str.length())
System.out.println(str+"是回文字符串");
else
System.out.println(str+"不是回文字符串");
}
}
结果:

java-03方法课堂练习的更多相关文章
- 《Java 程序设计》课堂实践项目 课后学习总结
		<Java 程序设计>课堂实践项目 课后学习总结 String类的使用(sort) 目录 Linux命令(sort) 课堂实践 课后思考 学习老师的代码之后的思考:int与Integer ... 
- 《Java 程序设计》课堂实践项目-类定义
		<Java 程序设计>课堂实践项目类定义 课后学习总结 目录 改变 类定义实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改. ... 
- 《Java 程序设计》课堂实践项目-Arrays和String单元测试
		<Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布 ... 
- 20145209刘一阳《JAVA程序设计》课堂测试总结
		20145209刘一阳<JAVA程序设计>课堂测试总结 这次重新学习JAVA这门课,我对本学期没有参与的测试进行了总结并制作成二维码方便老师检查,详细内容如下: 第一周课堂测试### ht ... 
- 20155308 2016-2017-2《Java程序设计》课堂实践项目
		20155308 2016-2017-2<Java程序设计>课堂实践项目 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅 ... 
- # 20155308 2016-2017-2《Java程序设计》课堂实践项目 5月17日
		20155308 2016-2017-2<Java程序设计>课堂实践项目 5/17 本次因为git出现了问题,所以没有按时提交我的代码 问题一 在IDEA中对P145 MathTool.j ... 
- 20155321 2016-2017-2《Java程序设计》课堂实践项目2
		20155321 2016-2017-2<Java程序设计>课堂实践项目2 实践内容 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: ... 
- 20155321 2016-2017-2《Java程序设计》课堂实践项目
		20155321 2016-2017-2<Java程序设计>课堂实践项目 关于String类 split方法 charAt方法 项目题目: 模拟实现Linux下Sort -t : -k 2 ... 
- 20155322 《Java程序设计》课堂实践项目 数据库-3-4
		20155322 <Java程序设计>课堂实践项目 数据库-3-4 数据库-3 实践要求 参考教材代码完成下面的要求,提交能连接到world的截图(有学号水印),并提交代码的码云链接.查询 ... 
- 《Java程序设计》课堂实践内容总结
		<Java程序设计>课堂实践内容总结 实践一 要求 修改教材P98 Score2.java, 让执行结果数组填充是自己的学号: 提交在IDEA或命令行中运行结查截图,加上学号水印,没学号的 ... 
随机推荐
- Linux:Ubuntu下部署Web运行环境
			Linux:Ubuntu下部署Web运行环境 本次博客将会从三部分内容详述Ubuntu系统下Web运行环境的配置: 依次是:FTP服务器的搭建.MYSQL数据库的搭建.JDK的安装等. 参考文章如下: ... 
- Android下拉快捷设置面板添加快捷开关流程
			快速设定面板上快捷开关的加载流程,包括图标等的加载和点击事件等的处理过程,以及创建一个快捷开关的主要过程(以增加一个锁屏开关为例).本文所讨论的Android版本为5.1. 快捷开关的加载流程 资源模 ... 
- docker学习笔记1-- 用Toolbox安装Docker--介绍Docker Machine
			使用的是Docker Toolbox,非Docker for Windows 一.docker的认识与安装(windows安装) http://blog.csdn.net/tina_ttl/artic ... 
- qnx 黑莓系统
			qnx 黑莓图形系统框架 http://www.360doc.com/content/07/0807/10/38907_658192.shtml http://blog.csdn.net/keyboa ... 
- PHP自动导入类
			自动require出所需要的类文件,支持PSR系列规范 spl_autoload_register(function ($class) { $classNames = explode('\\',$cl ... 
- 理解$watch、$apply与$digest
			Angular环境 浏览器里面有一个事件队列(event queue),用户触发啥事儿,或者网络请求,延时操作(例如定时器之类),都是一个event,浏览器会轮询这些事件,然后调用这些回调(这里的回调 ... 
- 四、golang内置函数、递归、闭包、数组切片和map
			一.总体内容 1.内置函数.递归函数.闭包 2.数组和切片 3.map数据结构 4.package介绍 一.内置函数 注意:值类型用new来分配内存,引用类型用make来分配内存 1.close:主要 ... 
- 20145240《Java程序设计》第三周学习总结
			20145240 <Java程序设计>第三周学习总结 教材学习内容总结 个人感觉第三周的学习量还是很大的,需要学习的内容更难了而且量也变多了,所以投入了更多的时间到Java的学习中去. 第 ... 
- Could not autowire field: private javax.servlet.http.HttpServletRequest
			在写单元测试类的时候,报错,废了很大劲才给调试好,给大家分享下. 完整错误如下: Caused by: org.springframework.beans.factory.BeanCreationEx ... 
- INSPIRED启示录 读书笔记 - 第14章 产品评审团
			制定更及时.更可靠的产品决策 制定决策通常是既耗时又费力的,产品公司需要一套机制让决策者和相关人员及时作出明智的产品决策.成立产品评审团是最好的解决途径 组织产品评审团的难点在于既要为高管制定产品决策 ... 
