来黑马十几天了,我总结了 一下我的弱项;
对于找规律的这种题型,我一向头疼,实在是思维性很差,get不到点上.
分析以下需求,并用代码实现:
在控制台输出九九乘法表
打印格式如下:
答案:
public class Demo01 {
public static void main(String[] args) {
//正序打印
for (int i = 0; i <= 9; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.println();
}
System.out.println();
System.out.println("----------------------------------------------");
//倒序打印
for (int x=9;x>=1;x--){
for (int y = 1; y <= x; y++) {
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
}
需求:有一只兔子,从出生后第3个月起每个月都生只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,用代码实现求第12个月的兔子总数为多少?
分析:从第一个兔子开始,第1个月1只兔子,由于“长到第三个月后每个月又生一只兔子”,所以第2个月也是1只兔子,第3个月时可以生一只兔子,所以总数为2只,这时,其中有一只是以后每个月都可以生一只兔子的老兔子,另一只是一只新兔子,它只有在第三个月的时候才可以每个月生一只兔子;这样的话,第4个月的兔子总数为3只,…以此类推,从第1个月到第12个月的兔子总数分别为:1,1,2,3,5,8,13,21,34,55,89,144
提示:(找到数字之间的规律再写代码)
答案:
public class demo01 {
public static void main(String[] args) {
int rabbit = 1; //上月兔子的数量和
int newRabbit = 1; //这一月生成兔子的数量和
int count; //中间值 用来存数量的
int month = 24;
System.out.println("第1月兔子 1 对");
System.out.println("第2月兔子 1 对");
//从第三月起
for(int i= 3 ; i <= month; i++){
count = newRabbit;
newRabbit = rabbit + newRabbit;
rabbit = count;
System.out.println("第"+i+"月兔子 "+newRabbit+" 对");
}
}
}
再就是冒泡排序
public class SortDemo {
public static void main(String[] args) {
int[] arr={23,12,43,421,33,45};
for(int j=1;j<arr.length;j++){
for(int i=0;i<arr.length-j;i++){
if(arr[i]>arr[i+1]){
//交换arr[i]和arr[i+1]
int temp = arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
}
|
|