我收到了第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)
{
}
*/
//}
}
}
答案 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
才能开始。