对于Statement:编译错误

时间:2013-11-11 20:13:23

标签: java for-loop

我收到了第34行的编译错误。我已经尝试将变量设置为相等并修复了编译错误,但它没有正确运行程序。

这是错误:

BaseConverter.java:34: error: illegal start of expression
                    for(iCount=; iCount>=0; iCount--)

代码:

import java.util.Scanner;


public class BaseConverter
{
public static void main(String []args)
{
    Scanner Keyboard=new Scanner(System.in);
    int iConvertNum;
    int iFromBase;
    int iToBase;
    int iCount;
    int iQuotent=0; 
    int[] iRemander= new int[100];

    System.out.print("Enter the positive integer you want to convert: ");
    iConvertNum=Keyboard.nextInt();
    System.out.print("\nEnter the base you are converting from(1-16): ");
    iFromBase=Keyboard.nextInt();
    System.out.print("\nEnter the base you are converting to(1-16): ");
    iToBase=Keyboard.nextInt();

    //if(iFromBase<iToBase)
    //{
        for(iCount=0; iQuotent>0; iCount++)
        {
            iRemander[iCount]=iConvertNum/iToBase;
            iQuotent=(iConvertNum/(iToBase+iRemander[iCount]));
            iConvertNum=iQuotent;

            //return iRemander[iCount];
        }
    iCount-=1;
        for(iCount; iCount>=0; iCount--)
        {
            System.out.print(iRemander[iCount]);
        }

    /*  
    }
    else if(iFromBase>iToBase)
    {
    }
    else(iFromBase==iToBase)
    {
    }
    */
        //}
    }
}

2 个答案:

答案 0 :(得分:6)

这一行

for(iCount; iCount>=0; iCount--)

在Java中是非法的,因为它必须是一个语句,iCount本身不是一个语句。如果您不想更改iCount的值,请将for循环的第一部分留空:

for( ; iCount>=0; iCount--)

即使你真的有for(iCount=; iCount>=0; iCount--);因为语句不完整而无法编译。但是因为你在这个特定的iCount循环之前专门为for建立了一个值,我仍然认为它应该是for循环中的空白第一个语句。

答案 1 :(得分:1)

根据错误,你写了for(iCount=; iCount>=0; iCount--)。在第一个=之后需要有一些表达式,iCount才能开始。