Java经典题目

Java经典题目之猴子吃桃

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?

从这里我们可以解析到后一天的桃子数是前一天的一半减去一
所以从后往前计算我们需要把当天的加上一再乘以二就可以得到前一天的数量
代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package Test;

public class TestPaPer02 {
/*
*
* */
public static void main(String[] args) {
// TODO Auto-generated method stub
peaches();
}
static void peaches(){ //设计方法求出一共摘了多少个桃子
int sum = 1;
for (int i = 1; i < 10 ; i++) {
sum=(sum+1)*2; //今天的数量加上1乘以2来算出前一天的桃子
System.out.println(sum);
}
System.out.println("摘了"+sum+"个桃子");
}
}

最后得出结果:1534个

Java经典题目之容器类设计

设计一个容器类,可以添加任意多及任意类型的数据,打印容器对象的时候可以将所有数据打印出来
示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package Test;

import java.util.Arrays;

import com.sun.org.apache.bcel.internal.generic.NEW;

import sun.security.util.Length;

public class Test{
/*
*
* */
public static void main(String[] args) {
// TODO Auto-generated method stub
Container container = new Container();
container.str("你好"); //调用str方法
container.str(334);
container.str('我');
container.str("来了");
System.out.println(container); //打印对象
}

}
class Container{ //容器类
Object [] objects; //存储元素的数组
int size; //数组长度
public Container() {
// TODO Auto-generated constructor stub
this(6); //构造函数里面没有传入参数的话就设置默认的长度6
}

public Container(int i) {
// TODO Auto-generated constructor stub
objects = new Object[i]; //设置数组长度
}
public void str(Object object) {
if (size == objects.length) {
Object [] arr = new Object [size+5]; //将数组的长度扩充
System.arraycopy(objects, 0, arr, 0, size); //将objects从下标为0开始复制到arr下标为0开始的地方,复制size个
}
objects[size++] = object;
}
@Override
public String toString() { //覆写toString方法
Object [] arr = new Object[size];
System.arraycopy(objects, 0, arr, 0, size);//将objects从下标为0开始复制到arr下标为0开始的地方,复制size个
return Arrays.toString(arr);
}
}
❤赏点钱让我买杯快乐水8❤