@Sarah
2015-11-05T17:37:54.000000Z
字数 4522
阅读 1670
java笔记
定义数组
方法1
int[] score={10,8,5,4,};
方法2
int[] score=new int[10];
score[0]=
score1=
若不知道数字长度,
.length
随机数
Math,random()
得到0.0~1.0内的随机数,按照需求再*10或者100...
冒泡排序
两个数a、b交换:设一个新的数值k
a=k
b=a
b=k
定义&显示数组
int[][] i=new int[5][6];for(int j=0;j<i.length;j++)for(int k=0;k<i[0].length;k++)i[j][k]=.random();
不规则数组
int[][]i=new int[5][];for(int j=0;j<i.length;i++)i[j]=new int[];
强制格式转换
(int)(Math,random(i))
static void f(int i){}// 静态 无返回值 函数名(形参)
调用的时候 是实参
把一个问题变成几个小问题
f(10)=10*f(9)
f(9)=9*f(8)
把光标放在括回后面,对应的前一个括号会显示框
用tab自动显示位置
用右键-source-format调整格式
上课案例
//1计算π/4=1-1/3+1/5-1/7+…,直到最后一项值小于10-8public class PI {public static void main(String[] args) {double result = 1;double i = 1;boolean flag = true;while (true) {i += 2;if (flag == true) {result -= 1 / i;flag = false;} else {result += 1 / i;flag = true;}if (1 / i < 0.000000001)break;}System.out.println(4*result);}
//统计一组成绩中的最高分、最低分、平均分以及及格率。public class score {public static void main(String[] args) {int[] score =new int[100];int max = -1, min = 100;int sum = 0;int count = 0;for (int i = 0; i < score.length; i++) {score[i]=(int)(Math.random()*100);//强制类型转换为int}for (int i = 0; i < score.length; i++) {if (score[i] > max) {max = score[i];}if (score[i] < min)min = score[i];sum = sum + score[i];if (score[i] >= 60) {count++;}}System.out.println("max:"+max);System.out.println("min:"+min);System.out.println("average:"+(float)sum/score.length);System.out.println("rate:"+(float)count/score.length);}}
//冒泡排序public class BubleSort {public static void main1(String[] args) {// TODO Auto-generated method stubint[] score =new int[100000];int m=1;for (int i = 0; i < score.length; i++) {score[i]=(int)(Math.random()*100);}for (int i = 0; i < score.length-1; i++) {// for (int j = 0; j < score.length; j++) {// System.out.print(score[j] +"\t");// }// System.out.println();for (int j = 0; j < score.length-m; j++) {if (score[j]>score[j+1]) {int k=score[j];score[j]=score[j+1];score[j+1]=k;}}m++;}// for (int i = 0; i < score.length; i++) {// System.out.print(score[i] +"\t");// }}//用M能够减少循环次数,这样到最后几次就不用每次都从头比较到尾。

//随机生成不规则的数组public static void main(String[] args) {int[][] i=new int[(int)(Math.random()*10+1)][];for (int j = 0; j < i.length; j++) {i[j]=new int[(int)(Math.random()*10+1)];}for (int j = 0; j < i.length; j++) {for (int j2 = 0; j2 < i[j].length; j2++) {i[j][j2]=(int)(Math.random()*100);System.out.print(i[j][j2]+ " \t");}System.out.println();}}}
例如:
58 82 30 68
60 7 94 29 78
15
74 96 98 42 19 57 27
44 35 84 80
56 17 45 25 72 68 61 9 63 39
5 44 49 31 1 74 75 27
41
//函数 求i的j次方static long power(int i,int j){long k=1;for (int m = 0; m < j; m++) {k=k*i;}return k;//调用System.out.println(power(5,7));
函数就是函数 要输出的时候单独输出 不要把输出写进函数里
//递归求10的累乘static long f(int i){// System.out.println("calling i="+i);if (i<2) {return 1;}else {return i*f(i-1);}}System.out.println(f(10));//注意这里并没有i--
习题
// *计算1!+2!+3!+…+n!//用递归,f(n)=n*n+f(n-1)public class factor {public static void main(String[] args) {System.out.println(f(4));}static int f(int i){if (i<2) {return 1;}else {return i*i+ f(i-1);}}}
// *计算m!<n,其中n由键盘输入import java.util.Scanner;public class mLessThanN {public static void main(String[] args) {int m = 5;long k = 1;for (int i = 1; i <= m; i++) {k = k * i;}//求m!Scanner sc = new Scanner(System.in);System.out.println("请输入n:");int n = sc.nextInt();//读取nif (k > n)System.out.println("True");elseSystem.out.println("False");}//判断m!<n}
public class BuyChicken {public static void main(String[] args) {// 公鸡每只5元,母鸡每只3元,小鸡3只1元,若用100元买100只鸡,则公鸡、母鸡、小鸡各能买多少?//当前代码需要修改,输出结果数字不对。for (int m = 0; m <=20; m++) {for (int f= 0; f<=33; f++) {for (int l = 0; l<=100; l++) {if (m+f+l==100&&5*m+3*f+l/3==100) {System.out.println("m="+m);System.out.println("f="+f);System.out.println("l="+l);}}}}}}
public class chickenAndRabbit {public static void main(String[] args) {// 鸡兔同笼,共有98个头386只脚,请用穷举法计算出鸡、兔各为多少只?for (int chicken = 0; chicken <98; chicken++) {for (int rabbit = 0; rabbit <96; rabbit++) {if (chicken+rabbit==98&&2*chicken+4*rabbit==386) {System.out.println("chicken="+chicken);System.out.println("rabbit="+rabbit);}}}}}
public class Fibonacci {//输出斐波那契数列前20个数int kk;public static void main(String[] args) {int kk;kk=0;for (int i = 1; i<=20; i++) {System.out.println(f(i));}}public static int f (int n) {//System.out.println(n);if (n==1||n==2) {return 1;}else {return f(n-1)+f(n-2);}}int tt;}
public class findBigNumber {public static void main(String[] args) {// [从键盘输入]若干数(输入0结束),找出其中的最大数int max = -1;int[] i =new int[(int)(Math.random()*100)];for (int j = 0; j < i.length; j++) {i[j]=(int)(Math.random()*100);if ( i [j]==0) {break;}if (i[j] > max) {max = i[j];}}System.out.println("max="+max);}}
public class KingPromise {// public static void main(String[] args) {// 国王的许诺:20+21+22+23+…+263(1立方米=1.42e8),264-1static long f(int i) {if (i == 0) {return 1;} else {return f(i - 1) + f(i - 1) *2;}}static double power(int i,int j){double k=1;for (int m = 0; m < j; m++) {k=k*i;}return k;}public static void main(String[] args) {double sum=0;for (int k = 0; k < 64; k++) {sum=sum+power(2, k);System.out.println(k+":"+sum);}}}
```