Algorithm3

1.数组起别名
如果我们将一个数组变量赋值给另外一个数组变量,那么两个变量将会指向同一个数组。
demo:

int[] a=new int[N];
.........................
int[] b=a;
b[i]={5,6,7,8};

///a[i]的值也会变为5,6,7,8
//这种情况和复制数组是有差别的,所以叫做起别名

2.二维数组

double[][] a;
a=new double[M][N];//M是行数,N是每行元素的个数
for(int i=0;i<M;i++)
for(int j=0;j<N;j++)
a[i][j]=0.0;

3.静态方法
Algorithm4学习中的java 程序要么是数据类型的定义,要么是一个静态方法库。
在很多语言中,静态方法被称为函数。
demo(静态方法解析)

 public static int abs(int x){
if(c<0) return Double.NaN;
double errr=1e-15;
double t=c;
while(Math.abs(t=-c/t)>err*t)
t=(c/t+t)/2.0;
return t;
}

4.典型静态方法的实现
1.计算一个整数的绝对值

package java4;

import java.util.Scanner;

public class Top1 {
	//计算一个整数的绝对值
	public static int abs(int x) {
		if(x<0) return -x;
		else return x;
	}
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Scanner src =new Scanner(System.in);
		int x=src.nextInt();
		int s=abs(x);
		System.out.println(s);
	
	}

}

2.计算一个浮点数的绝对值

package java4;

import java.util.Scanner;

public class Top2 {

	//计算一个浮点数的绝对值
		public static double abs(double x) {
			if(x<0) return -x;
			else return x;
		}
		public static void main(String[] args) {
			// TODO 自动生成的方法存根
			Scanner src =new Scanner(System.in);
			double x=src.nextDouble();
			double s=abs(x);
			System.out.println(s);
		
		}

}

3.判断一个数是否是素数

package java4;

import java.util.Scanner;

public class Top3 {
	//判断一个数是否是素数
	public static boolean isPrime(int N) {
		if(N<2) return false;
		for(int i=2;i<N;i++) {
			if(N%2==0) return false;
		}
		return true;
	}
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
Scanner src=new Scanner(System.in);
int x=src.nextInt();
boolean s=isPrime(x);
System.out.println(s);
	}

}

4.计算平方根

package java4;

import java.util.Scanner;

public class Top4 {

	public static double sqrt(double c) {
		if(c<0) return Double.NaN;
		else c=Math.sqrt(c);
return c;
	}

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
Scanner src=new Scanner(System.in);
double s=src.nextDouble();

double a=sqrt(s);
System.out.println(a);
	}

}

5.计算直角三角形的斜边

package java4;

import java.util.Scanner;

public class Top5 {
//计算直角三角形的斜边
	public static double hypottenuse(double x,double y) {
		return Math.sqrt(x*x+y*y);
	}
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
Scanner src=new Scanner(System.in);
double x=src.nextDouble();
double y=src.nextDouble();
double s=hypottenuse(x,y);
System.out.println(s);
	}

}

6.调和级数
调和级数(英语:Harmonic series)是一个发散的无穷级数,表达式为:
**************************************************************************;
这个级数名字源于泛音及泛音列(泛音列与调和级数英文同为harmonic series):一条振动的弦的泛音的波长依次是基本波长的1/2、1/3、1/4……等等。调和序列中,第一项之后的每一项都是相邻两项的调和平均数;而“调和平均数”一词同样地也是源自音乐。
很早就有数学家研究,比如中世纪后期的数学家Oresme在1360年就证明了这个级数是发散的。他的方法很简单:
1 +1/2+1/3 +1/4 + 1/5+ 1/6+1/7+1/8 +…
1/2+1/2+(1/4+1/4)+(1/8+1/8+1/8+1/8)+…
注意后一个级数每一项对应的分数都小于调和级数中每一项,而且后面级数的括号中的数值和都为1/2,这样的1/2有无穷多个,所以后一个级数是趋向无穷大的,进而调和级数也是发散的。
从更广泛的意义上讲,如果An是全部不为0的等差数列,则1/An就称为调和数列,求和所得即为调和级数,易得,所有调和级数都是发散于无穷的。

package java4;
import java.util.Scanner;
public class Top6 {
//计算调和级数,如果输入小于等于0,则输出0.0,无穷小,否则输出Infinity(无穷大)
	public static double H(int N) {
		double sum=0.0;
		for(int i=0;i<=N;i++) {
			sum+=1.0/i;
		}
		return sum;
	}
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Scanner src=new Scanner(System.in);
	int x=src.nextInt();
double s=H(x);
System.out.println(s);
	}

}

7.调用静态方法
写出方法名并且在后面的括号中列出参数值,用逗号分隔。
。。。。。。今天下午更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值