Java 此代码中的编译错误
此代码中的编译错误,如何修复此java代码 有人知道怎么解决这个问题吗?以及Java 此代码中的编译错误,java,android,Java,Android,此代码中的编译错误,如何修复此java代码 有人知道怎么解决这个问题吗?以及标签284出现了一些问题 巴斯德宾: 图片: private List getDataByAverage() { int i=这个。钱; Object localObject1=new ArrayList(); 如果(this.num!=1) { for(int j=0;j
标签284代码>出现了一些问题
巴斯德宾:
图片:
private List getDataByAverage()
{
int i=这个。钱;
Object localObject1=new ArrayList();
如果(this.num!=1)
{
for(int j=0;j
我猜标签break用于退出多个for或while循环。您必须在上面声明标签的使用位置。
你可以查一下
您必须先移动标签284:
,然后才能使用它
可能是一种声明我不知道的标签的方法
Edit:方法是,如果(this.num!=1)else{}
例程,则在整个例程中放置大括号。然后在其前面定义label284:
。
显然,中断标签将转到语句末尾。有关更多详细信息,请检查将localObject1
声明为列表而不是对象。这将修复此错误。尝试:
private List<int[]> getDataByAverage()
{
int i = this.money;
Object localObject1 = new ArrayList();
if (this.num != 1)
{
for (int j = 0; j < this.num; j++)
((List)localObject1).add(new int[2]);
i /= this.num;
j = 0;
int k = 0;
Object localObject2;
if (k + 1 != this.num)
{
int n;
if (10.0D * Math.random() <= 5.0D)
n = 0;
else
n = 1;
int m = (int)(Math.round(Math.random() * i) / 2L);
localObject2 = (int[])((List)localObject1).get(k);
if (n == 0)
m = i - m;
else
m = i + m;
localObject2= m;
j += ((int[])((List<int[]>) localObject1).get(k))[0];
}
else
{
localObject2 = new BigDecimal(String.valueOf(this.money));
BigDecimal localBigDecimal = new BigDecimal(String.valueOf(j));
((int[])((List<int[]>) localObject1).get(k))[0] = ((BigDecimal)localObject2).subtract(localBigDecimal).intValue();
}
if (((int[])((List<int[]>) localObject1).get(k))[0] >= 0)
{
k++;
}
localObject1 = getDataByAverage();
localObject1 = localObject1;
}
else
{
int[] arrayOfInt = new int[2];
arrayOfInt[0] = this.money;
((List)localObject1).add(arrayOfInt);
localObject1 = localObject1;
}
return (List<int[]>)(List<int[]>)localObject1;
}
private List getDataByAverage()
{
int i=这个。钱;
Object localObject1=new ArrayList();
如果(this.num!=1)
{
for(int j=0;j
如果您告诉我们错误是什么,这会有很大帮助。下图:ArrayList并不意味着它是数组列表,而是意味着它是一个由数组支持的列表。为什么您的localObejct1不是list类型的?而且break不是goto命令!
private List<int[]> getDataByAverage()
{
int i = this.money;
Object localObject1 = new ArrayList();
if (this.num != 1)
{
for (int j = 0; j < this.num; j++)
((List)localObject1).add(new int[2]);
i /= this.num;
j = 0;
int k = 0;
Object localObject2;
if (k + 1 != this.num)
{
int n;
if (10.0D * Math.random() <= 5.0D)
n = 0;
else
n = 1;
int m = (int)(Math.round(Math.random() * i) / 2L);
localObject2 = (int[])((List)localObject1).get(k);
if (n == 0)
m = i - m;
else
m = i + m;
localObject2= m;
j += ((int[])((List<int[]>) localObject1).get(k))[0];
}
else
{
localObject2 = new BigDecimal(String.valueOf(this.money));
BigDecimal localBigDecimal = new BigDecimal(String.valueOf(j));
((int[])((List<int[]>) localObject1).get(k))[0] = ((BigDecimal)localObject2).subtract(localBigDecimal).intValue();
}
if (((int[])((List<int[]>) localObject1).get(k))[0] >= 0)
{
k++;
}
localObject1 = getDataByAverage();
localObject1 = localObject1;
}
else
{
int[] arrayOfInt = new int[2];
arrayOfInt[0] = this.money;
((List)localObject1).add(arrayOfInt);
localObject1 = localObject1;
}
return (List<int[]>)(List<int[]>)localObject1;
}