我是编码的新手,刚刚在Java上选择了我的第一个编码单元,对于我们的一个编程项目,我们的任务是采用数字序列并导出用于创建该编码的多项式顺序为“x。”
以下代码段(它是一个段吗?我的意思是,它是血腥的长)来自Term类,其作用是输出多项式的单个项,并由其他2个类中的方法调用 - 多项式和序列。它是另一种方法的更新版本,但是这一方法不会在x^1
,x
的位置输出0x^3
之类的内容,而不是0
,{{1}代替2x^0
等等等。
作为编码的新手,我的代码并不是你要关注的最漂亮的东西。准备好你可能会看到的最令人作呕的代码:
2
// this function returns the term as a String for display:
// see the sample file and the test program for the layout required
我所指的示例文件和测试程序可以在单位网站上找到:http://teaching.csse.uwa.edu.au/units/CITS1001/projects/project1/,如果您想尝试一下,它还有我们设置的项目的详细信息!< / p>
我在这里遇到的问题,代码的肮脏,是我尝试编译时得到的错误消息流 - 例如,我收到的第一条错误消息就出现在public String displayImproved()
{
if(coefficient > 1)
{
if (exponent <= 1)
{
if (exponent = 1)
{
return " +" + coefficient + "x";
}
else
{
return " +" + coefficient;
}
if (exponent = 0)
{
return " +" + coefficient + "x^" + exponent;
}
}
if(coefficient = 1)
{
if (exponent <= 1)
{
if (exponent = 1)
{
return " +" + "x";
}
else
{
return " +" + "1";
}
}
else
{
return " +" + "x^" + exponent;
}
}
}
if (coefficient = 0)
{
return "";
}
if (coefficient < 0)
{
if (exponent <= 1)
{
if (exponent = 1)
{
return coefficient + "x";
}
else
{
return coefficient;
}
}
else
{
return coefficient + "x^" + exponent;
}
}
}`
行上了告诉我“不兼容的类型:int无法转换为boolean”。作为参考,if (exponent = 1)
变量是整数,exponent
变量是double。我正在使用的程序是BlueJ,如果这有帮助的话。并不是说我很快就能使用我的代码!
那么为什么BlueJ告诉我,我正在尝试在变量类型之间切换,为什么它不起作用?
答案 0 :(得分:2)
您需要更改所有 if(exponent = 1) if(exponent == 1) 因为一个=你的分配价值,而你用两个你检查平等
答案 1 :(得分:-1)
使用=
时,表示将exponent
的值设置为1。