
Var
A:array[1..10000] of word
i,n:integer
Procedure insert(var n:integerx:word)
Var I,j:integer
Begin
If x>a[n] then a[n+1]:=x
Else if x<=a[1] then begin
For I:=n downto 1 do a[i+1]:=a[i]
A[1]:=x
End
Else begin
For I:=1 to n-1 do if (x>a[i])and(x<=a[i+1] ) then begin j:=I break end
For I:=n downto j+1 do a[i+1]:=a[i]
A[j+1]:=x
End
Inc(n)
End
begin
n:=1
a[1]:=3
insert(n,4)
insert(n,1)
insert(n,2)
for i:=58 downto 1 do insert(n,i)
for i:=1 to n do write(a[i]:3)
end.
首先Long比Integer范围大, 所以Long是不能转换为Integer但是如果你的Long实际值在Integer范围内,还是有办法可以转换。
如下
Long long= xxxxx
Integer number = new Integer(String.valueOf(long))
这样就把long的值搞number上了.然后把这个number放Integer数组就ok
首先,这个XX在java里叫集合。你要知道java的集合是不能接收基本数据类型的,只能接收对象类型。
但是你放进去的又一定要是一个int类型的数字。那么放进去的时候就只能用这个基本数据类型的包装类了。
基本数据类型行的包装类如下:
byte Byte
shortShort
intInteger
long Long
charCharacter
booleanBoolean
floatFloat
doubleDouble
除了int和char的包装类需要额外记,其他基本类型的包装类都是将首字母大写,就是它的包装类了。
那么你的那个问题就解决了:
xx.add(new Integer(2))
这个是需要往集合XX中添加一个元素,这个元素是int类型的2,那么添加的时候就需要将这个int转换成他对应的包装类Integer。new Integer(2)就是做这个事情的,这个过程叫做装箱。对应的,反过来将Integer类型的数字变为int类型的数字,这个过程叫拆箱。
最后就产生了这样的代码。
其实如果你用的是jdk1.6以上的版本,那么直接写XX.add(2);也没问题,因为JVM会自动帮我们拆箱和装箱。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)