--对象与指针关系_根据代码结果画图
假设 My 是自己定义的类。
Mya = new My();
My b = new My();
My c = new My();
a= b;
b = c;
c = a;
在执行上述代码后,内存中对象与指针的图景如何?请画图示意之。
--对象的内存表示_画示意图
看下面类的定义:
classMyA
{
private String data;
public MyA(String x) data = x;
}
classMyB extends MyA
{
private MyA b1;
public MyB b2;
publicMyB(String y){
super(y);
}
}
.....
MyBa = new MyB("abc");
a.b2 = new MyB("abc");
请画出此时,内存中对象内容的示意图。
--串的内存表示_String、StringBuffer的比较
在进行软件测试的时候,我们经常需要提供很大的串。
可以通过随机数产生较大的串;通过把串不断复制、拼接,也是产生长串的手法。
请产生长度在10M左右的随机串,并输出它。
比较一下用String,StringBuffer的效果。
第01讲-数组的内存表示_画示意图
classMyA
{
public String[] data;
}
MyA[][]t = new MyA[3][];
t[0] = new MyA[2];
t[1] = new MyA[1];
t[1][0] = new MyA();
t[1][0].data = new String[3];
请画出内存中对象的示意图。
--多态的实现_分析调用过程
classA
{
public void f(int x)
{
g(x-1);
}
publicvoid g(int x)
{
f(x);
}
}
classB extends A
{
public void f(int x)
{
if(x>0) g(x-2);
}
publicvoid g(int x)
{
super.g(x-3);
}
}
....
newB().f(10);
请分析调用过程
--打印练习
试分别输出如下图形:可以使用任何方法
· $$$$$$$
$$$$$$$
$$$$$$$
$$$$$$$
$$$$$$$
· $$$$$$$
$ $
$ $
$ $
$ $
$$$$$$$
· $$$$$$$$$$ $$$$$ $$$$$ $$$$$
$ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $
$$$$$ $$$$$ $$$$$ $$$$$ $$$$$
· $
$$
$$$
$$$$
$$$$$
$$$$$$
$$$$$$$
· $
$$$
$$$$$
$$$$$$$
$$$$$$$$$
$$$$$$$$$$$
$$$$$$$$$$$$$
· $
$ $
$ $ $
$ $ $ $
$ $ $ $ $
$ $ $ $ $ $
· $
$ $
$ $
$ $
$ $
$ $
$ $
$ $
$ $
$ $
$
· $$ $$
$$ $$
$$ $$
$$ $$
$$ $$
$$$$
$$
$$$$
$$ $$
$$ $$
$$ $$
$$ $$
$$ $$
· $$$$$$$$$$$$$
$ $
$ $$$$$$$$$ $
$ $ $ $
$ $ $$$$$ $ $
$ $ $ $ $ $
$ $ $ $ $ $ $
$ $ $ $ $ $
$ $ $$$$$ $ $
$ $ $ $
$ $$$$$$$$$ $
$ $
$$$$$$$$$$$$$
· $$$$$$$$$$$$
$
$$$$$$$$$$ $
$ $ $
$ $$$$$$ $ $
$ $ $ $ $
$ $ $$ $ $ $
$ $ $$$$ $ $
$ $ $ $
$ $$$$$$$$ $
$ $
$$$$$$$$$$$$
当图形的规模发生变化时,你的程序容易修改吗?
--机器人行走
某少年宫引进了一批机器人小车。可以接受预先输入的指令,按指令行动。小车的基本动作很简单,只有3种:左转(记为L),右转(记为R),向前走若干厘米(直接记数字)。
例如,我们可以对小车输入如下的指令:
15L10R5LRR10R20
则,小车先直行15厘米,左转,再走10厘米,再右转,...
不难看出,对于此指令串,小车又回到了出发地。
你的任务是:编写程序,由用户输入指令,程序输出每条指令执行后小车位置与指令执行前小车位置的直线距离。
【输入、输出格式要求】
用户先输入一个整数n(n<100),表示接下来将有n条指令。
接下来输入n条指令。每条指令只由L、R和数字组成(数字是0~100之间的整数)
每条指令的长度不超过256个字符。
程序则输出n行结果。
每条结果表示小车执行相应的指令前后位置的直线距离。要求四舍五入到小数后2位。
例如:用户输入:
5
L100R50R10
3LLL5RR4L12
LL
100R
5L5L5L5
则程序输出:
102.96
9.06
0.00
100.00
0.00