首页 > 代码库 > 动手动脑03
动手动脑03
1、在类中定义方法必须加static,如果不加的话,必须将方法放入类中。如果不加static,必须先实例化出来一个类,之后再通过实例化类名+方法的形式调用。
2.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数。
package demo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;
public class test1
{
public static void main(String args[]) throws IOException
{
int i,n;
System.out.println("Input the number:");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String readn = reader.readLine();
n = Integer.parseInt(readn);
for(i = 0;i <= n;i ++)
{
System.out.print(Number() + " ");
}
}
public static int Number()
{
int value;
//Random ran = new Random( System.currentTimeMillis() );
value = http://www.mamicode.com/1 + (int) ( Math.random() * 6 );
return value;
}
}
3、请看以下代码,你发现了有什么特殊之处吗?
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()方法,你发现了什么?
这个方法可以换行。
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;
}
}
6、杨辉三角,使用递推的方法用杨辉三角形计算
package demo;
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;
}
}
7、回文数
package demo;
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+"不是回文字符串");
}
}
动手动脑03