2009-PICA最新j2ME源码

源代码在线查看: f.java

软件大小: 238 K
上传用户: wujiahui1pm
关键词: 2009 PICA j2ME 源码
下载地址: 免注册下载 普通下载 VIP

相关代码

				// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
				// Jad home page: http://kpdus.tripod.com/jad.html
				// Decompiler options: packimports(3) fieldsfirst ansi space 
				
				package pica.core;
				
				import java.util.Vector;
				
				public final class f
				{
				
					public byte a;
					private Vector c;
					public int b;
					private int d;
					private int e;
					private byte f;
				
					public f(byte byte0)
					{
						b = -1;
						d = 0;
						e = 0;
						f = 5;
						a = byte0;
						c = new Vector();
					}
				
					private Object[] a(String s, byte byte0, boolean flag)
					{
						Object aobj[] = {
							new Byte((byte)1), s, new Byte(byte0), new Boolean(flag), new Integer(0), new Integer(0)
						};
						c.addElement(((Object) (aobj)));
						return aobj;
					}
				
					public final void a(Object aobj[], String s, byte byte0)
						throws Exception
					{
						Object aobj1[] = null;
						int j = 0;
						int k = 0;
						if (c.size() == 0)
							b = 0;
						for (int l = 0; l < c.size(); l++)
						{
							Object aobj3[];
							if (((Byte)(aobj3 = (Object[])c.elementAt(l))[0]).byteValue() != 1)
								throw new Exception("该列表分组的成员计数出现错误!");
							if (((Byte)aobj3[0]).byteValue() != 1)
								continue;
							k = ((Integer)aobj3[4]).intValue();
							if (((String)aobj3[1]).equals(s) && ((Byte)aobj3[2]).byteValue() == byte0)
							{
								aobj1 = aobj3;
								j = l;
								break;
							}
							l += k;
						}
				
						if (aobj1 == null)
						{
							Object aobj2[] = a(s, byte0, true);
							aobj[3] = ((Object) (aobj2));
							c.addElement(((Object) (aobj)));
							if (((Byte)aobj[2]).byteValue() >= f)
								aobj2[5] = new Integer(((Integer)aobj2[5]).intValue() + 1);
							aobj2[4] = new Integer(((Integer)aobj2[4]).intValue() + 1);
							return;
						}
						if (k == 0)
						{
							aobj[3] = ((Object) (aobj1));
							c.addElement(((Object) (aobj)));
							aobj1[4] = new Integer(k + 1);
							return;
						}
						for (int i1 = j + 1; i1 < j + 1 + k; i1++)
						{
							Object aobj4[];
							if (((Byte)(aobj4 = (Object[])c.elementAt(i1))[2]).byteValue() < ((Byte)aobj[2]).byteValue())
							{
								aobj[3] = ((Object) (aobj1));
								c.insertElementAt(((Object) (aobj)), i1);
								aobj1[4] = new Integer(k + 1);
								if (((Byte)aobj[2]).byteValue() >= f)
									aobj1[5] = new Integer(((Integer)aobj1[5]).intValue() + 1);
								return;
							}
						}
				
						aobj[3] = ((Object) (aobj1));
						c.insertElementAt(((Object) (aobj)), j + 1 + k);
						aobj1[4] = new Integer(k + 1);
						if (((Byte)aobj[2]).byteValue() >= f)
							aobj1[5] = new Integer(((Integer)aobj1[5]).intValue() + 1);
					}
				
					public final void a(Object aobj[], boolean flag)
					{
						if (flag)
						{
							for (int j = 0; j < c.size(); j++)
							{
								Object aobj1[];
								if (((Byte)(aobj1 = (Object[])c.elementAt(j))[2]).byteValue() < ((Byte)aobj[2]).byteValue())
								{
									c.insertElementAt(((Object) (aobj)), j);
									if (c.size() == 1)
										b = 0;
									return;
								}
							}
				
							c.addElement(((Object) (aobj)));
						} else
						{
							c.addElement(((Object) (aobj)));
						}
						if (c.size() == 1)
							b = 0;
					}
				
					public final void a(Object aobj[], int j)
					{
						c.insertElementAt(((Object) (aobj)), j);
						if (c.size() == 1)
							b = 0;
					}
				
					public final Object[] a(String s, byte byte0)
						throws Exception
					{
						boolean flag = false;
						for (int k = 0; k < c.size(); k++)
						{
							Object aobj[];
							if (((Byte)(aobj = (Object[])c.elementAt(k))[0]).byteValue() != 1)
								throw new Exception("该列表分组的成员计数出现错误!");
							if (((Byte)aobj[0]).byteValue() != 1)
								continue;
							int j = ((Integer)aobj[4]).intValue();
							if (((String)aobj[1]).equals(s) && ((Byte)aobj[2]).byteValue() == byte0)
								return aobj;
							k += j;
						}
				
						return null;
					}
				
					public final Object[] a(String s)
					{
						for (int j = 0; j < c.size(); j++)
						{
							Object aobj[];
							if (((Byte)(aobj = (Object[])c.elementAt(j))[0]).byteValue() == 2 && ((String)aobj[1]).equals(s))
								return aobj;
						}
				
						return null;
					}
				
					public final Object[] a(int j)
					{
						if (j < 0 || j >= c.size())
							return null;
						else
							return (Object[])c.elementAt(j);
					}
				
					public final Object[] b(String s)
					{
						for (int j = 0; j < c.size(); j++)
						{
							Object aobj[];
							if (((Byte)(aobj = (Object[])c.elementAt(j))[0]).byteValue() == 3 && ((String)aobj[1]).equals(s))
								return aobj;
						}
				
						return null;
					}
				
					public final Object[] a(String s, boolean flag)
						throws Exception
					{
						Object aobj[] = null;
						for (int j = 0; j < c.size(); j++)
						{
							Object aobj1[];
							if (((Byte)(aobj1 = (Object[])c.elementAt(j))[0]).byteValue() == 3)
								continue;
							if (((Byte)aobj1[0]).byteValue() == 1)
							{
								aobj = aobj1;
								continue;
							}
							if (((Byte)aobj1[0]).byteValue() != 2)
								continue;
							if (aobj == null)
								throw new Exception("该列表项没有分组:index=" + j);
							int k;
							if ((k = ((Integer)aobj[4]).intValue()) 								throw new Exception("分组计数错误:goupItemNum=" + aobj[4]);
							if (!((String)aobj1[1]).equals(s))
								continue;
							c.removeElement(((Object) (aobj1)));
							aobj[4] = new Integer(k - 1);
							if (((Byte)aobj1[2]).byteValue() >= f)
								aobj[5] = new Integer(((Integer)aobj[5]).intValue() - 1);
							if (flag && k - 1 == 0)
								c.removeElement(((Object) (aobj)));
							if (b >= c.size())
								b = c.size() - 1;
							return aobj1;
						}
				
						return null;
					}
				
					public final void b(int j)
					{
						if (((Byte)((Object[])c.elementAt(j))[0]).byteValue() == 3)
							c.removeElementAt(j);
						if (b >= c.size())
							b = c.size() - 1;
					}
				
					public final void a(Object obj)
					{
						c.removeElement(obj);
						if (b >= c.size())
							b = c.size() - 1;
					}
				
					public final void a()
					{
						c.removeAllElements();
						b = -1;
						d = 0;
					}
				
					public final int b()
					{
						return c.size();
					}
				
					public final Object[] c()
					{
						if (b < 0)
							return null;
						else
							return (Object[])c.elementAt(b);
					}
				
					public final void c(int j)
						throws Exception
					{
						Object aobj[];
						if (((Byte)(aobj = (Object[])c.elementAt(j))[0]).byteValue() != 1)
						{
							throw new Exception("该项不是一个分组!");
						} else
						{
							aobj[3] = new Boolean(!((Boolean)aobj[3]).booleanValue());
							return;
						}
					}
				
					public final void a(boolean flag)
					{
						for (int j = 0; j < c.size(); j++)
						{
							Object aobj[];
							if (((Byte)(aobj = (Object[])c.elementAt(j))[0]).byteValue() == 1)
							{
								aobj[3] = new Boolean(flag);
								j += ((Integer)aobj[4]).intValue();
							}
						}
				
						b = 0;
						d = 0;
					}
				
					public final boolean d(int j)
					{
						Object aobj[];
						if (((Byte)(aobj = (Object[])c.elementAt(j))[0]).byteValue() == 1)
						{
							if (((Boolean)aobj[3]).booleanValue())
								j++;
							else
								j = j + ((Integer)aobj[4]).intValue() + 1;
						} else
						{
							j++;
						}
						return j >= c.size();
					}
				
					public final void d()
						throws Exception
					{
						if (b < 0)
						{
							throw new Exception("光标没有初始化:selectIndex=" + b);
						} else
						{
							b = g(b);
							return;
						}
					}
				
					public final void e()
						throws Exception
					{
						if (b < 0)
						{
							throw new Exception("光标没有初始化:selectIndex=" + b);
						} else
						{
							b = h(b);
							return;
						}
					}
				
					public final void e(int j)
					{
						for (int k = 0; k < j; k++)
						{
							int l = d;
							d = g(d);
							if (l > d)
								e--;
						}
				
					}
				
					public final void f(int j)
					{
						for (int k = 0; k < j; k++)
						{
							int l = d;
							d = h(d);
							if (l < d)
								e++;
						}
				
					}
				
					public final void f()
					{
						e = 0;
						d = 0;
					}
				
					public final void a(int j, int k)
					{
						e = g() - k;
						d = c(j, k - 1);
					}
				
					private int c(int j, int k)
					{
						for (int l = 0; l < k; l++)
							j = g(j);
				
						return j;
					}
				
					public final int b(int j, int k)
					{
						for (int l = 0; l < k; l++)
							j = h(j);
				
						return j;
					}
				
					public final int g(int j)
					{
						if (--j < 0)
							return 0;
						Object aobj[];
						if (((Byte)(aobj = (Object[])c.elementAt(j))[0]).byteValue() == 2)
						{
							int k = j - 1;
							do
							{
								if (k < 0)
									break;
								Object aobj1[];
								if (((Byte)(aobj1 = (Object[])c.elementAt(k))[0]).byteValue() == 1)
								{
									if (!((Boolean)aobj1[3]).booleanValue())
										j = k;
									break;
								}
								k--;
							} while (true);
						}
						return j;
					}
				
					public final int h(int j)
					{
						if (c.size() == 0)
							return 0;
						int k = j;
						Object aobj[];
						if (((Byte)(aobj = (Object[])c.elementAt(j))[0]).byteValue() == 1)
						{
							if (((Boolean)aobj[3]).booleanValue())
								j++;
							else
								j = j + ((Integer)aobj[4]).intValue() + 1;
						} else
						{
							j++;
						}
						if (j >= c.size())
							j = k;
						return j;
					}
				
					public final int g()
					{
						int j = 0;
						for (int k = 0; k < c.size(); k++)
						{
							Object aobj[];
							if (((Byte)(aobj = (Object[])c.elementAt(k))[0]).byteValue() == 3)
							{
								j++;
								continue;
							}
							if (((Byte)aobj[0]).byteValue() != 1)
								continue;
							j++;
							if (((Boolean)aobj[3]).booleanValue())
								j += ((Integer)aobj[4]).intValue();
							k += ((Integer)aobj[4]).intValue();
						}
				
						return j;
					}
				
					public final int h()
					{
						return d;
					}
				
					public final int i()
					{
						return e;
					}
				}
							

相关资源