@Sarah
2015-11-05T17:37:54.000000Z
字数 4522
阅读 1599
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-8
public 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 stub
int[] 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();
//读取n
if (k > n)
System.out.println("True");
else
System.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-1
static 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);
}
}
}
```