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方法课堂练习的更多相关文章

  1. 《Java 程序设计》课堂实践项目 课后学习总结

    <Java 程序设计>课堂实践项目 课后学习总结 String类的使用(sort) 目录 Linux命令(sort) 课堂实践 课后思考 学习老师的代码之后的思考:int与Integer ...

  2. 《Java 程序设计》课堂实践项目-类定义

    <Java 程序设计>课堂实践项目类定义 课后学习总结 目录 改变 类定义实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改. ...

  3. 《Java 程序设计》课堂实践项目-Arrays和String单元测试

    <Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布 ...

  4. 20145209刘一阳《JAVA程序设计》课堂测试总结

    20145209刘一阳<JAVA程序设计>课堂测试总结 这次重新学习JAVA这门课,我对本学期没有参与的测试进行了总结并制作成二维码方便老师检查,详细内容如下: 第一周课堂测试### ht ...

  5. 20155308 2016-2017-2《Java程序设计》课堂实践项目

    20155308 2016-2017-2<Java程序设计>课堂实践项目 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅 ...

  6. # 20155308 2016-2017-2《Java程序设计》课堂实践项目 5月17日

    20155308 2016-2017-2<Java程序设计>课堂实践项目 5/17 本次因为git出现了问题,所以没有按时提交我的代码 问题一 在IDEA中对P145 MathTool.j ...

  7. 20155321 2016-2017-2《Java程序设计》课堂实践项目2

    20155321 2016-2017-2<Java程序设计>课堂实践项目2 实践内容 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: ...

  8. 20155321 2016-2017-2《Java程序设计》课堂实践项目

    20155321 2016-2017-2<Java程序设计>课堂实践项目 关于String类 split方法 charAt方法 项目题目: 模拟实现Linux下Sort -t : -k 2 ...

  9. 20155322 《Java程序设计》课堂实践项目 数据库-3-4

    20155322 <Java程序设计>课堂实践项目 数据库-3-4 数据库-3 实践要求 参考教材代码完成下面的要求,提交能连接到world的截图(有学号水印),并提交代码的码云链接.查询 ...

  10. 《Java程序设计》课堂实践内容总结

    <Java程序设计>课堂实践内容总结 实践一 要求 修改教材P98 Score2.java, 让执行结果数组填充是自己的学号: 提交在IDEA或命令行中运行结查截图,加上学号水印,没学号的 ...

随机推荐

  1. Android中的动画使用总结

    android中动画可分为三种:帧动画,补间动画,和属性动画.其中属性动画是google推荐的,它可以实现前面两种动画的效果,运用起来更加灵活. 帧动画:顾名思义,就是一帧一帧的图片,快速播放形成的动 ...

  2. RabbitMQ队列/Redis缓存

    一.RabbitMQ队列 RabbitMQ安装(Centos7安装):1.安装依赖:yum install socat (不安装会报错)2.下载rpm包:wget http://www.rabbitm ...

  3. 【转】通过fio工具,测试SATA,SAS,SSD 读写性能

      转自:http://blog.csdn.net/killmice/article/details/42745937

  4. python中完善decorator

    @decorator可以动态实现函数功能的增加,但是,经过@decorator“改造”后的函数,和原函数相比,除了功能多一点外,有没有其它不同的地方? 在没有decorator的情况下,打印函数名: ...

  5. R中的运算符,条件语句,控制语句

    1.运算符 算术运算符:+,-,*,/ 关系运算符:==,!=,>,>=,<,<= 逻辑运算符:&,|,&&,||,! &和|称为短逻辑符,&a ...

  6. nodejs/REPL环境命令行操作命令

    1,输入node 进入node[REPL]环境 2,按两次[ctrl+c]退出node[REPL]环境 3,上箭头会查找上次输入的命令 4,cls清屏 5,tab键会自动补全路径 6,REPL环境

  7. 创建Android守护进程(底层服务)【转】

    本文转载自:https://blog.csdn.net/myfriend0/article/details/80016739 创建Android守护进程(底层服务) 前言 Android底层服务,即运 ...

  8. Linux基本常用命令

    说到Linux,它就是基于POSIX和UNIX的多用户,多任务,支持多线程和多CPU的操作系统.它能运行主要的UNIX的工具软件,应用程序和网络协议.它支持32位和64位硬件.linux继承Unix以 ...

  9. Kafaka高可用集群环境搭建

    zk集群环境搭建:https://www.cnblogs.com/toov5/p/9897868.html 三台主机每台的Java版本1.8 下面kafka集群的搭建:  3台虚拟机均进行以下操作:  ...

  10. VCFtools

    The C++ executable module examples This page provides usage examples for the executable module. Exte ...